130,660 total views, 162 views today

ESP8266 應用一:智能插座 .6 接收 Server 指令及繼電器控制

為了可以擁有指令擴充能力,還是採用 JSON 格式

增加 JSON 處理能力

到 GitHub 下載 zip 後,Arduino → 草稿碼 → 匯入程式庫 → 加入 .ZIP 程式庫,選擇剛剛下載的 zip 檔案

在整理資料的時候版本已經升到 6 了,以前的程式碼不適用了 … = =a

JSON 接收處理

參照 GitHub 上的 example 加上上一章 ESP8266 應用一:智能插座 .5 改用 Socket 通訊為主動控制做準備 TCP Client 的 TCP Server 程式來發送 json 測試

運作起來的結果大概就像這樣

ESP8266 接收 JSON 字串處理

繼電器控制

繼電器有分高電平和低電平,意思就是有電還是沒電可以導通,選擇要看需求,例如在本次的專案是智能插座,打算沒通電的時候就也不通電,所以選擇的是高電平控制繼電器

把上面的程式加上繼電器的接腳輸出定義,以及將從 TCP Server 接收的 JSON 指令解析控制繼電器即可完成

269 total views, 2 views today

ESP8266 應用一:智能插座 .3 DHT-11 溫濕度

終於要把現實世界和數位世界連接了,一開始的現實對象是環境溫、濕度,所以要使用溫、濕度監測器或是說監測模組。

模組一般都是將主功能電子零件加上必要的配套電路成為獨立零件,非電子專業使用會比較方便,Hoyo 使用的模組是 DHT-11

(非業配,賣場內還有另一個是只有監測器,比較便宜可是沒有應用電路)

加入程式庫

為了讀取 DHT11 數據,所以直接用其他大大分享的程式庫是比較快速的方式

從 GitHub 下載 zip 打開 Arduino IDE,草稿檔 → 匯入程式庫 → dht11-master.zip

程式範例 – 從串列埠觀看溫、濕度

 

下圖中的 delay 時間為 200 ,並非上面設定的 2000

ESP8266 DHT11 串列埠輸出

將 DHT11 讀取溫、濕度上傳到主機

先假設你已經有一個可以使用 HTTP API 上傳資料的主機,然後接下來就是如何把資料丟上去,在此假設的規格是使用 GET 傳遞

上傳到其他 IoT 平台 – 以 Ubidots 為例

從 Devices 查看上傳數據

點選單一監測數據可以看到詳細數據

接腳接反會燒壞!

其實電子零件大多是這樣的下場,以前搞音響 DIY 燒的更慘 …

優、缺點

極限值以及準確度是 DHT11 的硬傷,所以在熟悉 DHT11 之後可以選擇更高階的同類產品,例如 DHT2x 系列

380 total views, 4 views today

CentOS 7 – MySQL 5.6 升級到 MySQL 5.7

為了把自己的主機 MySQL 同步公司的環境,所以必須從 MySQL 5.6 更新到 5.7 ,升級 MySQL 很簡單倒是升級 phpMyAdmin 遇到了一些困難

升級 phpMyAdmin 4.9.1

293 total views, no views today

NanoPi – USB 網路卡 ( WiFi AP 應用 )

USB WiFi

本次測試的 USB WiFi dongle 硬體資訊

NanoPi 有支援驅動,可以掃描 AP

開機完成才執行

將 wlx??? 網路卡名稱改成 wlan0

AP mode

vi /etc/network/interfaces

啟用

vi /etc/hostapd/hostapd.conf

vi /etc/dnsmasq.conf

啟用

vi /etc/NetworkManager/NetworkManager.conf

啟動

初次使用時,可以使用以下指令顯示執行訊息方便除錯

USB 插入

加入自己的 USB 插入程序

/etc/udev/rules.d/99-usbwifi.rules

/home/wifi_script

完整的 USB WiFi 插入 & 拔出 log 紀錄

實際使用

NanoPi_USB_WiFi

NanoPi_USB_WiFi_AP

NanoPi_USB_WiFi_HTTP

429 total views, 2 views today

ESP8266 應用一:智能插座 .2 認識 ESP8266 及連上 WiFi

參考

初期只要跟著佑老師的 youtube 影片教學,買一塊 ESP8266 照著做一些實驗就差不多了

Hoyo 是買這個 (NodeMCU 開發板 ESP8266串口WiFi模塊 ESP-12E Lua 物聯網 CP2102 (NOD002)) 因為在台南可以直接去拿比較方便

NodeMcu 腳位圖

NodeMcu 板上 LED 是 D4 (GPIO2),一開始沒有其他硬體配合可以先嘗試控制這個燈號

ESP8266 可控制 LED 燈號

USB 驅動

USB\VID_1A86&PID_7523

http://www.arduined.eu/files/CH341SER.zip

Arduino 開發環境設定

Hoyo 選擇的是 Arduino 開發,所以請到 Arduino 官網下載,初學者建議直接下載安裝檔比較省事

安裝完成開啟先讓 Arduino IDE 支援 ESP8266

檔案 → 偏好設定 → 額外的開發板管理者網址,輸入以下網址

工具 → 開發板 → 開發板管理員,過濾輸入 esp8266 選擇版本安裝,請使用 2.5.0 以後版本

控制板上的 LED 閃爍

第一個程式就是讓上面說的板上 LED 閃爍

儲存後上傳到 ESP8266 執行即可看到閃爍的 LED

連上 WiFi & 讀取網頁

第二步就是連上 WiFi 並且讀取,記得修改成自己 WiFi AP 名稱和密碼

  • WIFI_AP : AP 模式
  • WIFI_STA : Client 模式
  • WIFI_AP_STA : 同時是 AP 也是 Client
  • WIFI_OFF : 關閉

可以打開「序列埠監控視窗」觀察運行結果

1,055 total views, 3 views today

Let’s Encrypt + certbot : 免費 SSL (0.40.1)

本文對應版本:0.40.1

下載、安裝

下載後加上執行屬性,裸執行一下讓程式自動更新及補上系統缺少的套件

mod_socache_shmcb.so

將 mod_socache_shmcb.so 註解移除

重新啟動 httpd

安裝證書 by 網站

因為沒有 DNS 權限,先測試了單一網站的安裝,certbot 會自動偵測 apache 設定檔抓取網站,證書存放在 /etc/letsencrypt/live/*

etc/httpd/conf.d/ssl.conf 範例

319 total views, no views today