2019年3月29日 星期五

ESP32 讀取 SHT20 溫濕度感測器

markdown


之前在使用ESP8266讀取SHT20時就遇到過,使用網路上的 Library時無法正確讀取溫溼度的問題,但是那時沒時間debug,就一個個的download下來,使用try and error的精神,總算用SHT21的可以使用,就一直沒再去看問題啦

這次使用ESP32讀取時,因沒有紀錄之前哪些程式庫可以使用,就只好重來一次啦,但這次就不打算亂槍打鳥,好好來看一下問題出在哪兒吧

這次使用[DFRobot SHT20](https://github.com/DFRobot/DFRobot_SHT20)的程式庫,照著example code做,得到的結果都是998的數值

Errors 998 if not sensor is detected. Error 999 if CRC is bad.

確認了好幾次,線路明明就有接好呀,怎麼會沒偵測到呢? 最後拿出了LA鈎訊號,一直覺得讀取間隔時間太快了,把間隔拉長後就竟然讀取到溫溼度的數值了

在DFRobot\_SHT20.c的 DFRobot\_SHT20::readValue(byte cmd)程式中,調整 DELAY\_INTERVAL的大小,即為調整間隔時間,我是直接將它延長兩倍時間就可以正確讀取到了
for(counter = 0, toRead = 0 ; counter < MAX_COUNTER && toRead != 3; counter++){
    delay(DELAY_INTERVAL);
    toRead = i2cPort->
    requestFrom(SLAVE_ADDRESS, 3);
}

DELAY\_INTERVAL的定義是在 DFRobot\_SHT20.h 中,所以就修改這個數值,就解決讀不到溫溼度的問題啦

2019年3月21日 星期四

RF 2.4G 無線鍵盤

為了給樹莓派一個好攜帶的鍵盤,在網路上尋找好久,一直沒找到滿意的產品,看到喜歡的價格就不便宜,便宜的外觀又不喜歡,最後終於被我找到一個價格可以接受,外觀也喜歡的產品

打開來看看本尊吧,比樹莓派再大一些些而已,一個USB接收器,一條Micro USB充電線



開關與USB充電都位在頂部,USB接收器先插在我的NB上,打開鍵盤電源開關看看

鍵盤右上方出現白色電源符號,指示鍵盤在開機狀態

鍵盤按鈕還有白色背光會透出,讓在比較昏暗處也可以清楚的看到按鍵功能
關掉電燈,讓背光可以看得更清楚些

輸入的功能,還少了一樣,滑鼠呢

來,我們翻面看看,『Touch Panel』,是觸控板啦
上面有三個圖示,拉近點看看,

一個手指點擊,代表滑鼠左鍵
二個手指點擊,代表滑鼠右鍵
二個手指滑動,可以捲動

滑鼠基本該有的功能都有啦
那操作Touch Panel時,鍵盤不會誤觸嗎?

這產品有內建G-Sensor,會判斷是在哪一面進行操作,會自動把朝下那面的功能取消,所以不用擔心會誤觸

更厲害的是,在操作Touch Panel它會知道上下左右的方向,自動修正方向,而不用去搞清楚說現在的上方在哪裡,下方在哪裡,看圖比較清楚

 不管方向怎麼轉,紅燈都會維持在右上方的位置


還沒完呀,Touch Panel面還有另一項功能,更換LED顏色

四個手指上去,透過RGB三個LED做顏色的混色組合,它就會慢慢變色給你看呢





買到一個顏值高的小鍵盤,除了給樹莓派使用外,偶爾還拿來給客廳的機上盒使用,瀏覽網頁,打字都可以比一般遙控器好操作呢,最後再來看看在手上操作的大小吧









2019年3月20日 星期三

ESP32 Homekit 開關 (SWITCH)

之前使用ESP8266製作Homekit裝置時,都須藉由RPi3當中繼,才能透過手機與Homekit裝置做控制
現在在ESP32上,裝置已經可以獨立運作,不再需要RPi3了

感謝網路上的許多神人們 younghyunjo , maximkulkin

開發ESP32的程式可以使用Arduio IDE的環境,官方網站有提供教學,或是到MAKERPRO也可以喔,不過本篇重點不在Arduino IDE的環境下做開發,就不再多做說明了

開發Homekit的程式,目前似乎都是在ESP-IDF或是ESP-OPEN-RTOS之下所開發的,所以就需要安裝相關的環境做開發,但是還是可以安裝Arduino的元件(Component),就可以混合使用Arduino的語法做開發囉

開始動手

Step 1 照著官方的步驟,安裝ESP-IDF的開發環境吧

Step 2 從Y大的GitHub下載 esp32-Homekit
$ git clone --recursive https://github.com/younghyunjo/esp32-homekit.git

Step 3 修改 examples/switch/main/main.c 裡面WiFi的SSID與WiFi密碼
#define EXAMPLE_ESP_WIFI_SSID "myssid"
#define EXAMPLE_ESP_WIFI_PASS "12345678"  

Step 4 編譯跟燒錄

以開關的範例示範
$ cd examples/switch
$ make
$ make flash

Step 5 配對
可以開啟支援Homekit的iPhone或iPad進行配對了,配對過程中會需要密碼,程式中預設的密碼為053-58-197,可以尋找程式中 hap_accessory_register 函數,自行修改配對密碼

選擇「沒有代碼或無法掃描」選項

可以看到「SWITCH」配件出現,點選它



我們是秉持DIY精神的,所以並沒有通過認證,直接強制加入就可以啦

輸入程式中的預設密碼,053-58-197


開始搜尋配件


找到後,在我們的「家庭」中就可已看到「SWICTH」了,我們可以將它重新命名,如「電燈開關」






直接在「SWITCH」上點擊,燈就會亮起啦 (ESP32 板子上的LED也會跟著亮起)


Free ERP on the Raspberry Pi (odoo)

  #更新系統軟體 sudo apt update && sudo apt upgrade -y #安裝資料庫 sudo apt install postgresql -y #安裝py程序 sudo apt install python3-pip -y #安裝od...