Pull to refresh
24
0
Макс @MaksMS

Пользователь

Send message
Этот пример DS18B20 для работы на каком-то м/к через АТ команды. Сам лично пробовал переписывать код чтения DS18B20 под ESP8266, но пока ничего не вышло… Возможно проблема в точности пауз и наличия мешающих прерываний. Успешно запущены датчики DHT22 и BMP085/180. Даже готова прошивка отправки данных на сайт narodmon.ru
Вот тут имеется инструкция как собрать комплиятор под win x86. Сам не собирал — для меня не актуально.
Про характеристики можно добавить, что размер ПЗУ зависит от того какой чип flash памяти стоит на плате. Обычно там установлен чип на 4мбита т.е. 512кбайт.

Вообще, по моим наблюдениям SDK и/или компилятор не сильно допилены — иногда бывают необъяснимые глюки в работе собранных прошивок.
Недавно вышел SDK 0.9.3, но на его я ещё не перешел.
Чтобы превратить IoT_Demo в веб сервер http страниц достаточно в функции data_send поменять строчку в os_sprintf на Content-type: text/html — смысл публиковать код, если он же имеется в примере IoT_Demo ??
Странички с определенными адресами добавляются в функции webserver_recv…
Исходники можно глянуть в сдк /examples/IoT_Demo/ — почти то же самое и даже больше, там управление через json запросы.
Вот вам для затравки пару тестовых прошивок: esp_at_www.zip и esp_www.zip. Вариант без АТ команд работает стабильнее. Доступные команды и функции:
Управление GPIO выводами вкл/выкл, командой ip_adres/set?pin1=1 — что значит включить логическую единицу на выходе 1(gpio2). Доступен так же gpio0 -имеющий номер 2.
Корневой веб адрес прошивки открывает интерфейс управления этими gpio с помощью кнопок, необходим доступ браузера к интернету для подгрузки jquery.
Адрес ip_adress/config?main открывает страничку текущих настроек wi-fi. В будущем эти настройки можно будет менять.

Сначала можно настроить модуль через программу ESP8266_Config а уже потом шить эти прошивки…
Я тупо пользуюсь терминалкой от Arduino IDE. Не было желания разбираться с консольными терминалами…
Вот сам сейчас не помню где такое прочитал, где-то на англ инструкции, да, без GPIO2 прошивает, попробовал. но похоже он подтянут по умолчанию к + и если его посадить на gnd, то прошивки не будет. Так что при некоторых обстоятельствах прошивка не пройдет, если случано на GPIO2 окажется минус или просто помеха.
Прошиваю в линуксе через питоновский скрипт. Кстати, там всегда ошибку при 99% выдает 'Failed to leave Flash mode' — это нормально.
Нормальное сообщение, первая строка просто на китайском -вот и аброкадабра тут… Вторая же строчка в нормальной кодировке, английскими символами
Да, так и есть, но можно взять исходную прошивку и сделать по своему.
Вот тут Есть несколько разных вариантов прошивок, в том числе от electrodragon, где встроенно дергание пинов 0 и 2.
Некоторое время «пытаю» данный модуль и уже немнго научился его программировать — использую модуль без дополнительных м/к с поднятием на нем веб интерфейса и дерганием gpio. К сожалению имею в наличии тот же вариант esp-01 — а тут всего 2 gpio, которые необходимы для управления режимом входа в прошивку и это иногда мешает- не удается запустить i2c…
В случае использования беспровода на базе nrf24LО1/nrf24LE1 даже без шифрования сложно «взломать» беспроводную сеть без определенных навыков и железа. Не каждый переберет 5 байтный адрес модуля без этого. Плюс ещё надо знать какие режимы передачи используются(AutoAck, Dynamic Payloads, канал, скорость, crc)…
Пока без дополнительного микроконтроллера не получится — нет сдк для этого модуля чтобы его под себя перепрограммировать без использования UART… Тоже жду такой.
С такой антенной как уже упомянули выше реально меньше в помещении, в реальных условиях, но существуют модули с усилителем и антенной. Есть варианты с керамической антенной — вроде как лучше чем обычная вытравленная из дорожек.
Усиленный модуль можно поставить в приемную-серверную часть, а клиенты могут быть и обычные — уже будет выигрыш в расстоянии
Аппаратное, в даташите много чего интересного написано :)
Не замерял режимы работы у Atmegи, но думаю они не хуже чем у модулей nrf24LE1 со встроенным м/к, где в спячке потребление всего 1 микроампер. В режиме передачи до 5-6мА. В большинстве задач устройству достаточно спать и просыпаться, например раз в 5 минут на доли секунды сделать замер и спать дальше.
А… Если имеется ввиду несколько датчиков(например температуры, влажности или давления) в одном клиенте LO1, то получается, если передавать данные в float, то можно уместить до 8 датчиков, а если в int, то 16! Это если без дополнительных символов в виде структуры, например:
typedef struct{
 unsigned char identifier;// номер передатчика. Неизменяемые данные
int Analog6; //Аналоговый вход 6
unsigned char termo; //Статус термостата
unsigned char pfcerr; // Контроль низкого питания: 0- питание в норме. 1 - ниже нормы.
int Error_Message; // счетчик ошибок передач.
unsigned long count;// счетчик передач для контроля качества канала.
float temperature_Sensor; //передаём температуру.
float pressure_Sensor;// передаём давление
 }
 nf1;
Если собрать схему правильно, с минимальной обвязкой и использовать спящий режим, то будут микроамперы…
5) Эти контроллеры имеют свою прошивку, которая позволяет им становиться независимым девайсом.

Давно ли они стали иметь свою прошивку? Программируются только nrf24LE1 и nrf24LU1(USB версия). Про nrf24LE1 кстати сейчас уже все разжевано и программировать их не сложно, а скоро ещё конструктор прошивки будет готов…

Ради интереса попробовал сформировать строку в JSON, это видно на видео. Неэффективно, если датчиков много. Лимит на 32 символа, а разбираться глубже не было времени. Просто поменять циферку 32 на 64 — не помогает.

Как связано количество клиентов с размером пакета? 32 байта это максимально возможный размер пакета для данных устройств. Передача от клиентов должна просто разделена по времени и приемник просто должен распихать данные по полкам.
а питание через микро-ЮСБ — несказанно бесило: ну о какой надёжности может идти речь с этой финтифлюшкой?!

Ничто не мешает подключить +5в на гребенке GPIO…
Видел как-то фото, на котором был раскурочен микро-усб для подключения питания… ЗАЧЕМ?

Information

Rating
Does not participate
Location
Киров (Кировская обл.), Кировская обл., Россия
Date of birth
Registered
Activity