Бардак в tornado.websocket

Полдня убил, чтобы обнаружить источник проблемы. После переезда ардуинка перестала коннектится к вебсокету. Проблема оказалась в том, что некоторые заголовки теперь отдаются с маленькой буквой s в названии. То есть не Sec-WebSocket-Accept, а Sec-Websocket-Accept. Этот вариант конечно же модель для ардуинки не ожидал. Пришлось залезть в код tornado.websocket и добавить правку. А именно, ищем tornado.httputil._NormalizedHeaderCache. Добавляем в него строку:

ecc-start

Arduino websocket и ecc

В сети много раз наталкивался на различные поделки типа моей. Почти все либо на Arduino либо на ESP8266. И мало кто использует websocket. Есть куча вариантов: Сбор данных с датчиков (температура, давление, влажность, освещенность) ардуинкой или ESP8266. Переключение нагрузки через приложение или страничку при использовании вебсервера на Arduino. Попытки локально поднять точку управления модулями на

ECC architecture

Перевод Arduino на websocket

Почему websocket?

Все же при использовании централизованного сервера где-нибудь снаружи добраться до ардуинок не просто. Но при наличии интернета ардуинки легко коннектятся к внешнему серверу.

DHT-22

DHT-22 – датчик температуры и влажности

В статье «Датчик температуры и влажности DHT-11» я приводил пример дешевого датчика, который с большой погрешностью определяет температуру и влажность. К сожалению он не пригоден для полноценного использования в доме. Поэтому я заказал датчик подороже и значительно точнее — DHT-22.

fc-22

Датчик газа FC-22 на базе MQ-6

Датчик FC-22 предназначен для обнаружения изобутана, пропана, смесей сжиженных углеводородных газов (Liquefied petroleum gas (LPG)). Обладает небольшой чувствительностью к парам алкоголя, парам гари и сигаретного дыма. Его основой является химический датчик MQ-6.

Из Китая я получил его в конверте с слегка погнутой сеткой. Но ничего важного сетка не зацепила и датчик исправно работает.

Hc-sr501 в сборе

Hc-sr501 PIR датчик движения

Датчик движения состоит из фотоэлемента, обвязанного электроникой, чтобы на выходе получать бинарный сигнал: 1 — включаем исполнительный механизм, 0 — выключаем исполнительный механизм. Заказывал 2 датчика. Один пришел из Китая в конвертике, немного согнуты лапы конденсаторов, но при этом полностью рабочий. У второго погнуты переменные резисторы настройки чувствительности и времени задержки закрытия, а так же пины проткнули конверт и торчали наружу. Второй так же рабочий.

arduino as isp

Использование Arduino as AVR ISP (In-System Programmer)

Уже не однократно приходилось перепрошивать бутлодер на ардуинке. Причем я это делал как на UNO так и на Leonardo. В качестве ISP я использовал Arduino UNO.
Все коды уже есть в Arduino IDE. Самая сложная задача – правильно все соединить.

ESP-12E на базе ESP8266

Wi-Fi модуль на базе ESP8266

Заказал 2 немного отличающихся модуля для общения ардуинки через wi-fi: ESP-01 и ESP-12E. Пока ждал посылку выяснил, что есть библиотеки для того, чтобы при помощи ArduinoIDE работать непосредственно с ESP8266. То есть эту схему можно использовать как контроллер, считывая входы и управляя выходами на этой плате.