[Arduino] 用Arduino控制家電 附上source code
上次研究了用Arduino的硬體,簡單地控制家電。但我當下有些狀況,我沒辦法輕易的控制HTTP POST/GET,我用了Http href的方式實作了這個,後來跟我公司的Http/Javascript/Php高手聊了一下,原來我應該用http form的方式去實現http post。
殘念,所以今天又花了一點時間去修正。順便獻醜一下,小弟的第二版程式,我認為我只是想實現這個技術,分享給各位使用(如果喜歡的話),畢竟時間不是很多,所以只能用不到四小時的時間(第一次開發到現在)完成目前的狀況,以後有空再慢慢增加功能,還有程式的整理(未來想將它弄成個簡單的Http post/get的小型web server)。
github : https://github.com/brianShih/arduino_hw_handler
稍微介紹了一下程式的架構:
1. 因為這不是經過授權的板子,所以我必須自定Ethernet MAC,如果你是使用其他受過認證的硬體或者WiFi,設定理所當然就不一樣了。
2. 當收到turnon/turnoff的post時,身為http server就該給點回應,所以我將http response目前hard code在resp_turnon, resp_turnoff,也藉此實現http form的post行為。
3. Arduino將所有初始化跟設定放在setup,因此我將一些簡單的設定也都放在這裡,包括了GPIO初始值、web server setup、DHCP client setup。
4. post的功能:我不認為這是個Ready的架構,如果你想將架構修正成適合自己的樣子,請自便,但我必須提醒你,我在client.println("Location: http://192.168.1.4"); Hard code了自己的IP,請小心使用。
5. loop() 完全就是web server的中控中心了,但我在client.stop();後,放上了GPIO的切換。
殘念,所以今天又花了一點時間去修正。順便獻醜一下,小弟的第二版程式,我認為我只是想實現這個技術,分享給各位使用(如果喜歡的話),畢竟時間不是很多,所以只能用不到四小時的時間(第一次開發到現在)完成目前的狀況,以後有空再慢慢增加功能,還有程式的整理(未來想將它弄成個簡單的Http post/get的小型web server)。
github : https://github.com/brianShih/arduino_hw_handler
稍微介紹了一下程式的架構:
1. 因為這不是經過授權的板子,所以我必須自定Ethernet MAC,如果你是使用其他受過認證的硬體或者WiFi,設定理所當然就不一樣了。
2. 當收到turnon/turnoff的post時,身為http server就該給點回應,所以我將http response目前hard code在resp_turnon, resp_turnoff,也藉此實現http form的post行為。
3. Arduino將所有初始化跟設定放在setup,因此我將一些簡單的設定也都放在這裡,包括了GPIO初始值、web server setup、DHCP client setup。
4. post的功能:我不認為這是個Ready的架構,如果你想將架構修正成適合自己的樣子,請自便,但我必須提醒你,我在client.println("Location: http://192.168.1.4"); Hard code了自己的IP,請小心使用。
後話,我必須很有自覺的說,目前真的是糟到不行的架構,我期待之後可以慢慢演化成,可以一次控制多組GPIO, PWM...之類的。Orz...
留言
張貼留言