S20智慧插座積木

S20是Sonoff系列中的一個物聯網插座,透過特定的APP便可以經過網路控制插座供不供電,進而便能控制家用電器。它的內部有一個ESP8266的晶片,就是因為這個晶片,才能讓它連上網路,成為物聯網上的一個插座。既然是ESP8266,就代表如果我們重新改寫它內部的程式,我們便可以利用程式直接控制這個插座,而不需要受制於原本內建的程式以及APP,改寫程式後,想要怎麼控制它便可以依自己的想法來控制。S20是Sonoff系列中比較好拆卸以及更新程式的一個插座,所以簡單的為這個插座寫了一些積木,讓想要擁有物聯網插座的朋友可以很方便的控制這個插座,積木位於「吉哥積木」→「ESP8266」→「S20智慧插座」內。

S20範例影片

如何拆卸S20:

S20很好拆卸,只要用螺絲起子以及你的指甲便可以了。

用螺絲起子將底下的螺絲鬆開

使用指甲或是扁平工具鑽入縫中撐開可

拆卸後的內部

要如何燒錄程式到S20

一、在S20的UART的孔位上焊四支排針(如果焊接技術不夠好,就不用焊,但在燒錄過程中都要確認排針不會鬆動)


二、準備一個「USB to TTL」的橋接器。因為ESP8266只能接受3V的電壓,所以你選購的橋接器也得要能有3V的VCC。3V、TX、RX、GND都依照順序用杜邦線接起來。(注意,S20和橋接器的對接,TX→TX,RX→RX,不能交換接)


三,橋接器和S20用杜邦線接起來。


四、在接上電腦前必須要先按住按鈕,接上電腦後再鬆開按鈕,S20才會進入燒錄模式。


五、 在BlocklyDuino上,開發板選擇「ESP8266」,右上角的燒錄選項選擇「Generic ESP8266 Module」,並且選好com port,便可以開始編寫S20智慧插座的程式,積木位於「吉哥積木」→「ESP8266」→「S20智慧插座」內。

範例一:

程式啟動時,綠色LED燈會亮起,按下開關,插座供電;再按一下,插座沒電。


直接使用S20上的按鈕控制家電

範例二:利用區域網路UDP廣播控制S20智慧插座

一、ESP32發送端程式:

利用一個ESP32 的PocketCard的A、B鍵,來控制S20插座的供電或斷電。連上WIFI之後初始化廣播埠7697,按下A鍵發送1的訊息,按下B鍵發送2的訊息

二、S20智慧插座接收端程式

程式啟動後,連接到WIFI並初始化廣播埠7697,連接成功後綠色LED燈會閃爍3次,然後LED燈會恆亮。如果接收到來自連接埠7697的訊號,訊號如果是1,插座便會供電,如果是其他訊號,插座則會斷電。


使用UDP廣播的方式,用另一個裝置控制S20智慧插座

範例三:將S20連接上MQTT

智慧插座S20連接上MQTT之後,所有連接同一個MQTT broker以及同一個Topic的裝置,便都能控制這個S20插座了。程式啟動後,連接到WIFI並連接上MQTT broker,並且訂閱一個Topic,連接成功後綠色LED燈會閃爍3次,然後LED燈會恆亮。如果接收到來自訂閱的Topic傳來的訊號,訊號如果是1,插座便會供電,如果是其他訊號,插座則會斷電。


使用MQTT軟體便可以控制S20智慧插座