Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Потеряшки: ищите потерянные предметы без времени! Расслабляйтесь, исследуйте, находите.

Потеряшки - поиск предметов

Головоломки, Казуальные, Детские

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
98
asd99
8 лет назад
Arduino & Pi

Метеостанция на arduino с выгрузкой статистики в IoT⁠⁠

Добрых суток!

Сегодня мы соберем метеостанцию с выгрузкой статистики в инет.

Для этого нам понадобятся:

- стабилизатор напряжения АМS1117-3.3 ($0.85/10шт);

- датчик температуры и влажности DHT11 ($0.80);

- датчик температуры и давления GY68 ($4);

- Arduino Pro Mini ($1.24);

- модуль Wi-Fi на ESP-8266 (ESP-01) ($1.9);

- сопротивления 4,7к и 10к;

- электролиты 100 и 1000 мФ на 10+В;

Итого: около $9 (225грн);

Все легко находится на алиэкспрессе, так что ссылок не будет.


Начнем мы с нашего WiFi модуля ESP-01:

Питание: 3.0 - 3.6 В;

Ток: 60-220 мА (в зависимости от режима 802.11 и настроек энергосбережения);

Для работы нужно подтянуть вывод CH_PD к питанию через резистор 10 кОм.

Метеостанция на arduino с выгрузкой статистики в IoT Arduino, DHT11, Gy68, Esp8266, Wi-Fi, Интернет вещей, Длиннопост

Как подключить модуль, подробно написано здесь.

Конкретно про обновлении прошивки - здесь.


Я использовал прошивку с АТ-командами версии 0.25. Между версиями существуют небольшие различия, так что решайте сами, что вам проще: изменить код скетча или прошить модуль.

Распиновка такая:

ESP-01  >  Arduino

Tx > 10

Rx >  11

CH_PD > через 10 кОм на +3.3В

Vcc > +3.3

Gnd >  Gnd

Для проверки заливаем в ардуину скетч из примеров SoftwareSerial.ino, проверив чтобы строка

SoftwareSerial mySerial(10, 11); // RX, TX

соответствовала наши ногам ардуины. Напомню, что выводы данных подключаются крест-накрест, Rx->Tx и Tx->Rx

Теперь нам понадобится программа ESP8266 Config. Подключаемся к порту с модулем на скорости 115200. Если вместо картинки

Метеостанция на arduino с выгрузкой статистики в IoT Arduino, DHT11, Gy68, Esp8266, Wi-Fi, Интернет вещей, Длиннопост
в порт идет мусор, отключаемся, меняем скорость на меньшую, подключаемся снова и ребутим модуль, до получения строк

Firmware builder: esp8266.ru

ready

Вводим в том же окне команду тестовую АТ. Нам должен придти ответ ОК. Если ответ приходит, читаем дальше, нет - отписываемся в комментах, помогу чем смогу.


Далее, нам нужно установить нужные нам скорость порта по-умолчанию и параметры сети.

1. Параметры порта, команда вида AT+UART_DEF=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>. Параметры можно посмотреть в диспетчере устройств->свойства порта

Метеостанция на arduino с выгрузкой статистики в IoT Arduino, DHT11, Gy68, Esp8266, Wi-Fi, Интернет вещей, Длиннопост

т.е. наша команда будет такой AT+UART_DEF=9600,8,1,0,0

вводим, получаем ОК, перегружаем модуль и переподключаемся со скоростью 9600.

2. В окне ESP8266 Config нажимаем List AP, получаем список всех доступных сетей. Выбираем нужную, вводим пароль, жмем Join AP. В консоли должно появиться

AT+CWJAP="SSID","PASSWD"

WIFI CONNECTED

WIFI GOT IP

OK

Для получения адреса у меня в роутере включен DHCP с раздачей IP по МАС.

Формат всех команд можно посмотреть в файле "ESP8266 AT Instruction Set_v0.25"

DHT11: Довольно хреновый датчик, иногда выдающий данные с сильным разбросом (лучше возьмите DHT22, он еще и от 3.3+В питается (об этом ниже) - я брал просто самый дешевый с измерением влажности).

Питание: 3.5 - 5.5 В;

Ток до 0.3 мА;


Диапазон измерений:

- влажность 20-95% (+-5%). Если влажность больше (96-100%), модуль все равно покажет 95%:

Метеостанция на arduino с выгрузкой статистики в IoT Arduino, DHT11, Gy68, Esp8266, Wi-Fi, Интернет вещей, Длиннопост

- температура 0-50 гр. (+-2 гр.). По факту ниже +3-4 гр. не покажет даже при сильном морозе.

- время между считываниями показаний не меньше 10 сек (иначе будет выдавать практически рандом).


При длине провода больше 20 м или напряжении питания меньше 5 В нужен подтягивающий резистор в 4,7 кОм на сигнальную линию. Я решил поставить, на всякий случай.

GY69: датчик давления и температуры на основе чипа BMP-180.

Питание: 1.68 - 3.6 В;

Ток около 5 мкА (мало верится, но сам не мерял);

Диапазон измерений:

- давление: 300-1100 гПа (-500 - 9000 м над ур.моря);

- температура: -40 ... +85 гр. (при температуре меньше ноля падает точность);

- время замера 4,5 ... 25 мкс;

По даташиту нужно сигнальные линии (SDA/SCL) нужно подтянуть к питанию резисторами по 4,7 кОм, но я не заморачивался.


Питание я взял от старой ЮСБ-зарядки, 5В 250мА. Т.к. оказалось, что ESP-01 очень требователен к питанию (предыдущий отладочный вариант питался от аккума на 3.7 В и сгорел через неделю), то отталкиваться будем именно от него - понижать напряжение до 3.3 В. Однако это меньше, чем нужно DHT11, поэтому его придется запитать от 5В.

Для включения ESP-01 необходимо подать через резистор 10 кОм питание на ногу CH_PD. Однако из-за того, что у микрухи самого WiFi распаяны не все ноги (они "висят в воздухе"), она сильно греется даже в отсутствие передачи данных. Ну а т.к. передавать статистику мы будем раз в 10 минут, нам совершенно не нужно держать модуль постоянно включенным (и расходовать заряд аккума, если питание от него).

Поэтому CH_PD мы подключим к 13й ноге контроллера и для включения связи будем подавать на неё высокий уровень.

Схема подключения стабилизатора напряжения AMS1117-3.3 (ток до 1А) особой оригинальностью не отличается и взята из даташита.

Итого, имеем схему (да,я знаю про fritzing, но мне лень в ней разбираться):

Метеостанция на arduino с выгрузкой статистики в IoT Arduino, DHT11, Gy68, Esp8266, Wi-Fi, Интернет вещей, Длиннопост

Для проверки схему нужно залить скетч test_sensors.ino (ссылка на архив в конце поста). В порт должны полететь данные о температуре/давлении/влажности.


Выгрузка статистики.

Регистрируемся на сайте thingspeak.com.

Создаем новый канал

Метеостанция на arduino с выгрузкой статистики в IoT Arduino, DHT11, Gy68, Esp8266, Wi-Fi, Интернет вещей, Длиннопост

Тут выставляем по полю на каждый измеряемый параметр.

Кроме этого, можно настроить видимость канала (все/только вы), высоту нашей станции над уровнем моря, координаты и т.д. Создаем.

Далее идем в Channel Settings и переписываем Channel ID, идем в API keys и переписываем Write API Key. По двум этим параметрам мы будем писать данные.

Проверить работоспособность канала можно, перейдя в броузере по адресу 184.106.153.149/update?key=[ВАШ_Write_API_Key]&field1=0

Откроется страница с номером текущей порции данных (для первого раза 0, потом 1, и т.д.).

Открываем скетч WiFiMeteostationIoT.ino и исправляем строки:

14 String remote_key = "KEY";// passkey

на ваш Write API Key.

105 dps.init(MODE_STANDARD, N, true);

N замените на вашу текущую высоту (в МЕТРАХ, несмотря на то, что в даташите написано про сантиметры) - это нужно для точно определения давления. Узнать ее можно либо с помощью GPS, либо на  этой страничке.


Для отправки одной "порции" данных нужно отправить на модуль WiFi команды:

AT+CIPSTART=2,"TCP","184.106.153.149",80 //создать соединение №2, протокол ТСР, адрес, порт

AT+CIPSEND=2,N //через соединение №2 отправить пакет длинной в N байт

GET /update?key=[ВАШ_Write_API_Key]&field1=25 //сам пакет

AT+CIPCLOSE=2 //закрыть соединение

Обратите внимание на переносы строк \r\n в коде. Так надо.


Скетч в архиве.


Сам канал по мере заполнения примет такой вид:

Метеостанция на arduino с выгрузкой статистики в IoT Arduino, DHT11, Gy68, Esp8266, Wi-Fi, Интернет вещей, Длиннопост

Схема потребляет около 80 мА при передаче данных и 15-20 мА при простое.


Что можно улучшить:

- заменить DHT-11 на что-нибудь получше, тот же DHT-22;

- сделать фильтрацию замеренных значений (по тому же Калману (пост) ).

- отсылать на статистику не сразу после включения, а через 10 минут, предварительно отфильтровав;

- подтянуть GPIO ESP-01 на питание через 10 кОм;

- подтягивать DHT-11 по-хорошему надо было не на +5, а на +3.3 В;

- не заставлять ардуину впустую гонять delay(), а сделать полноценный сон с "разбудкой" по таймеру;

- оба датчика потребляют намного меньше допустимой нагрузки на ногу ардуины (40 мА), можно запитать их через контроллер и включать только по надобности;


GoogleDrive c архивом


P.S. первый, и, скорее всего, крайний пост - не подписывайтесь ;)

Показать полностью 7
[моё] Arduino DHT11 Gy68 Esp8266 Wi-Fi Интернет вещей Длиннопост
47
118
ProstoBrat
ProstoBrat
8 лет назад
Arduino & Pi

Прошивка arduino по воздуху: WIFI ESP8266⁠⁠

Бывает собрал что-то на Arduino, упаковал в корпус, и тут в прошивке  решил что-то чуток подправить, придется лезть, доставать, разбирать, подключать... А если поделка встроена куда-то в новый ремонт, то вообще атас.

О том, как прошивать arduino по воздуху, статей написано не мало, большинство решений - прошивка по bluetooth.

Я предлагаю дешевый и простой способ - использовать для этих целей WIFI модуль ESP-01.

На гифке устройство на arduino (замок, с доступом по RFID), которое как раз будет вмонтировано глубоко и на долго и я позаботился о том, чтобы доступ к ардуинке был удаленно (вдруг надо будет добавить RFID метку).

Прошивка arduino по воздуху: WIFI ESP8266 Прошивка по arduino воздуху, Прошивка arduino по wifi, Esp8266, Esp-01, Arduino, Прошивка arduino, Гифка, Видео, Длиннопост

Для начала нужно прошить модуль прошивкой esp-link, сделаем это простым USB-TTL конвертера.

Прошивку качаем отсюда: https://github.com/jeelabs/esp-link/releases/download/v2.2.3...

Прошивка arduino по воздуху: WIFI ESP8266 Прошивка по arduino воздуху, Прошивка arduino по wifi, Esp8266, Esp-01, Arduino, Прошивка arduino, Гифка, Видео, Длиннопост

Прошивка представляет из себя несколько файлов, из них понадобятся 3: boot_v1.5.bin, user1.bin и blank.bin.

Прошиваем с помощью https://github.com/nodemcu/nodemcu-flasher

бинарники заливаем по следующим адресам:


boot_v1.5.bin - 0x00000

user1.bin - 0x1000

blank.bin - 0x3FE000


Устанавливаем на ПК драйвер виртуального COM - порта, например этот: http://tibbo.ru/products/item/9/42/


И далее следуя инструкциям в видео настраиваем:

И  наконец подключение ESP-01 к arduino:

Esp-01 - arduino

TX - RX

RX - TX

GPIO0 - rst

Gnd - gnd

Показать полностью 1 1
[моё] Прошивка по arduino воздуху Прошивка arduino по wifi Esp8266 Esp-01 Arduino Прошивка arduino Гифка Видео Длиннопост
37
202
ProstoBrat
ProstoBrat
8 лет назад
Arduino & Pi

WIFI реле для "Умного дома" с датчиком температуры⁠⁠

На самом деле это вторая версия WIFI-реле, с обратной связью и встроенным датчиком температуры и влажности, Первая версия была без датчика DHT22.

WIFI реле для "Умного дома" с датчиком температуры Умный дом, Esp8266, Wi-Fi, DHT11, Видео, Длиннопост

Прошивка самого модуля написана в Arduino IDE, android-приложение в mit app inventor 2, Нормальное приложение еще не закончено (в Android Studio). Блок Wifi-реле отсылает подтверждения выполнения команд и данные с датчика температуры и влажности (DHT11 или DHT22). Реле тут цепляется к gpio14, но так как его нет на ESP-01, подпаял проводок к чипу.

WIFI реле для "Умного дома" с датчиком температуры Умный дом, Esp8266, Wi-Fi, DHT11, Видео, Длиннопост

Датчик температуры и влажности подключен к gpio2, с этим проблем нет, он выведен на ESP-01


Видео по статье:

Cкачать скетч и android приложение (с исходником, демонстрирующее работоспособность, основное приложение еще в разработке), можно ссылке: https://yadi.sk/d/0NSk9NqKzaJZk

Список железа для сборки под видео на YouTube.

Показать полностью 2 1
[моё] Умный дом Esp8266 Wi-Fi DHT11 Видео Длиннопост
54
193
ProstoBrat
ProstoBrat
8 лет назад
Arduino & Pi

WIFI часы на светодиодной матрице с бегущей строкой погоды⁠⁠

Здесь нет модуля точного времени, нет даже кнопок для настроек, просто nodeMCU и экран, т.е. светодиодная матрица, тем не менее это устройство пoказывает время и очень точно.

В этом варианте часов получаем время из интернета с сайта google, а так-же погоду в формате JSON, которая отображается бегущей строкой. Используем подключение по WIFI. Матричный модуль 32x8 MAX7219 подключен к NodeMCU (ESP826) по интерфейсу SPI.

WIFI часы на светодиодной матрице с бегущей строкой погоды Nodemcu, Esp8266, Max7219, Wifislax, Часы, Видео, Длиннопост
WIFI часы на светодиодной матрице с бегущей строкой погоды Nodemcu, Esp8266, Max7219, Wifislax, Часы, Видео, Длиннопост

Подключаем питание и какое-то время ничего не происходит, а это потому что наш NodeMCU соединяется по интернету с сервисами google и сервисами погоды. После того как время получено с сайта google в течении 15 секунд показывает точное время, далее пробегает бегущая строка. Помимо погоды, бегущей строкой можно отобразить любой текст русскими буквами, какую-нибудь поздравлялку, например.

Для отображения русских букв, библиотека Adafruit-GFX слегка модифицирована, она находится в архиве вместе со скетчем и другими необходимыми библиотеками. Качаем тут: https://yadi.sk/d/8H52USAeyg3Ux


И наконец видео по статье:

Показать полностью 2 1
[моё] Nodemcu Esp8266 Max7219 Wifislax Часы Видео Длиннопост
25
121
ProstoBrat
ProstoBrat
8 лет назад
Arduino & Pi

Умные часы своими руками на ESP8266 #1⁠⁠

Решил тут собрать что-то мелкое и эффектное, ну и не долго подумав, решил начать изобретать велосипед разработку своих "умных часов", да так, чтобы повторить мог любой, и без сложных схем.

Умные часы своими руками на ESP8266 #1 Esp8266, Smart-watch, Oled, SSD, Esp8266 ssd1306, Умные часы, Часы с wifi, Видео, Длиннопост
Умные часы своими руками на ESP8266 #1 Esp8266, Smart-watch, Oled, SSD, Esp8266 ssd1306, Умные часы, Часы с wifi, Видео, Длиннопост

Монитор выбрал OLED на драйвере ssd1306, так как он работает по интерфейсу I2C, а значит займет всего 2 пина микроконтроллера и это то что надо! Платой с ESP8266 изначально была ESP-07, но позже ей стал модуль ESP-01, хоть на нем и мало разведенных пинов, но их вполне хватит даже для подключения нескольких датчиков (пульс, температура тела...), ведь даже RX и TX можно использовать как GPIO любого назначения.

Первым этапом стало написание скетча, умеющего получать из интернет данные о погоде и времени, далее задумался "куда же засунуть RTC для счета времени" и в итоге решил вообще от него отказаться, пусть сам микроконтроллер считает время, а когда появится "родная" WIFI сеть, время синхронизируется и снова станет точным. За десять часов работы часов, они отстали примерно на минуту, что вполне приемлемо (ужин с обедом уже не перепутаешь).

Конечно же я не учитывал тогда, что девайс будет не только показывать время, но и считать пульс, показывать погоду и прочее, по этому задачку со временем еще предстоит решить.

На этом этапе устройство отображает в течении 10 секунд время, за тем 3 секунды температуру, что берет из интернета, за тем влажность в течении 3-х секунд, источник данных тот же.

Для корректного отображения русского шрифта и вообще для работы ESP8266 с OLED 128X64 библиотеки adafruit слегка модифицированы и прилагаются к статье вместе со скетчем ессно

https://yadi.sk/d/l7dh85d932YizK


Продолжение конечно же следует!


Видео по статье:

Показать полностью 2 1
[моё] Esp8266 Smart-watch Oled SSD Esp8266 ssd1306 Умные часы Часы с wifi Видео Длиннопост
20
37
techn0man1ac
techn0man1ac
8 лет назад
TECHNO BROTHER

В любой непонятной ситуации - импровизируй⁠⁠

В любой непонятной ситуации - импровизируй Mrподелкинц, Esp8266, Радиолюбители, Смекалка

За идею спасибо Андрею.

[моё] Mrподелкинц Esp8266 Радиолюбители Смекалка
4
40
MainFrm
9 лет назад
Arduino & Pi

Еще одна погодная станция на ESP8266⁠⁠

Еще одна погодная станция на ESP8266 Погодная станция, Esp8266, Arduio, Arduino-project, Arduino, Проект, Электроника, Радиоэлектроника, Длиннопост

Я решил мониторить погодные показатели у себя дома. У меня уже есть богатый опыт сборки устройств на arduino и esp8266 и на esp мне понравилось больше (из-за наличия wi-fi).

Для полноценной картины погодных условий нам необходимо знать температуру внутри и снаружи, давление воздуха, влажность и качество воздуха (количество CO и CO2). Показания буду считывать домашним сервером на Linux при помощи самописного скрипта и выводить через MRTG в виде графика.


Собственно детали были заказаны на Aliexpress: MP180 (температура и давление), MQ135 (качество воздуха), DTH11 (температура и влажность), DTH22 (уличная температура и влажность), 662k (стабилизаторы на 3.3 вольта). Доставка была быстрой, и уже через две недели все было готово к сборке.


К сожалению, на момент написания статьи DTH22 еще не пришел, но я оставил для него выведенный внешний разъем.


Я не буду выкладывать схему, так как нет принципиальной разницы к каким GPIO что цеплять (за исключением i2c шины, она необходима для датчика давления). Сборку начнем с впаивания esp8266 в плату с контактами, где кстати, сразу отпаяем перемычку и впаяем стабилизатор на 3.3 вольта. Как раз для этого были куплены десяток 662k стабилизаторов. Это нам очень упростит дальнейшее подключение, так как все датчики работают либо от 3.3 до 5 в, либо строго от 3.3. Получается питать всю схему можем любым напряжением и не париться, что что-то сгорит.

Еще одна погодная станция на ESP8266 Погодная станция, Esp8266, Arduio, Arduino-project, Arduino, Проект, Электроника, Радиоэлектроника, Длиннопост

Для удобства, я вывел питание со стабилизатора на макетку, откуда потом развел на плюс всех устройств.

Еще одна погодная станция на ESP8266 Погодная станция, Esp8266, Arduio, Arduino-project, Arduino, Проект, Электроника, Радиоэлектроника, Длиннопост
Еще одна погодная станция на ESP8266 Погодная станция, Esp8266, Arduio, Arduino-project, Arduino, Проект, Электроника, Радиоэлектроника, Длиннопост

Далее расположил все на макетной плате, чтоб было поудобнее, все впаял, развел провода сзади (плюс на плюс, GND на минус, остальное на GPIO, сопротивления для светодиодов и аналогового входа, об этом чуь позже), вывел несколько светодиодов, чтобы понимать что происходит, поставил PC спикер для понта (пищит при включении и превышении показаний).

Еще одна погодная станция на ESP8266 Погодная станция, Esp8266, Arduio, Arduino-project, Arduino, Проект, Электроника, Радиоэлектроника, Длиннопост

Кстати у ESP8266 есть один аналоговый вход, но он считывает напряжение до 1 вольта. У датчика загазованности MQ135, есть два выхода - цифровой и аналоговый. Цифровой срабатывает при превышении показаний, поэтому для мониторинга он бесполезен, а второй выгод аналоговый. Вот его то мы и подключим к ESP. Но для корректной работы нам нужно собрать простой делитель напряжения на двух сопротивлениях.

Еще одна погодная станция на ESP8266 Погодная станция, Esp8266, Arduio, Arduino-project, Arduino, Проект, Электроника, Радиоэлектроника, Длиннопост

После подключения и написания скетча на Adruino оказалось, что в режиме i2c могут работать не все контакты (как я ранее упоминал). В итоге мне так и не удалось заставить работать по i2c никакие GPIO кроме дефолтных (GPIO4, GPIO5). Конечно не принципиально, но пришлось разок перепаять схему.


Экранчик я решил не подключать, так как показания всегда можно посмотреть с мобильника или компьютера. Кроме того показания мониторятся с сервера (у меня дома свой сервер) и выводятся в MRTG.

Еще одна погодная станция на ESP8266 Погодная станция, Esp8266, Arduio, Arduino-project, Arduino, Проект, Электроника, Радиоэлектроника, Длиннопост

Для мониторинга температуры выбрал SimpleDHT.h, потому что с ним не глючит, а со стандартным постоянно вместо температуры "nan". Кроме того оказалось, что по одному датчику температуры и по другому (один в DHT11, другой MP180) температура отличается на 3 градуса, при этом на настольном градуснике температура равна средненму от них обоих. Я не стал заморачиваться и считаю, что верная температура, та которая средняя. Для датчика давления использовал SFE_BMP180.h. Загазованность можно просто считывать с аналогового выгода, но зависимость показаний не линейная, поэтому сложно анализировать. Для того, чтобы упростить скетч я использовал MQ135.h. Главное, после того как установите MQ135, необходимо дать ему 24 часа поработать, чтобы прогреться. Затем нужно считать нулевые значения при помощи команды:


float rzero = gasSensor.getRZero();

Как получили нулевые значения, их нужно вписать в файл MQ135.h в переменную RZERO.


Далее, давайте рассмотрим веб-страничку, которую генерит погодная станция.

Еще одна погодная станция на ESP8266 Погодная станция, Esp8266, Arduio, Arduino-project, Arduino, Проект, Электроника, Радиоэлектроника, Длиннопост

Если посмотреть код страницы, в самом низу можно увидеть скрытый код. Между скрытыми элементами <!start data> и <!stop data> находятся данные для сервера.

Еще одна погодная станция на ESP8266 Погодная станция, Esp8266, Arduio, Arduino-project, Arduino, Проект, Электроника, Радиоэлектроника, Длиннопост

Так проще обрабатывать.

На сервере (Linux) по крону запускается MRTG, которая стартует скрипт:


curl -s http://192.168.1.63 | sed -n '/<!start data><!/,/><!stop data>/p'|grep -v "data" > /tmp/ws.tmp
grep nvAvrIntTemp /tmp/ws.tmp -A1|tail -1
grep nvHmD1 /tmp/ws.tmp -A1|tail -1

Ну и по аналогии получаем остальные данные. То есть вместо nvAvrIntTemp может быть, например, nvMq1, тогда мы получим не среднюю температуру, а качество воздуха. Настройку MRTG я не буду расписывать, она совершенно стандартна, но если будет интересно, выложу, хотя там ничего замороченного нет.


Оригинал статьи со скетчем

Показать полностью 8
[моё] Погодная станция Esp8266 Arduio Arduino-project Arduino Проект Электроника Радиоэлектроника Длиннопост
27
65
KeyAnyPress
KeyAnyPress
9 лет назад
Arduino & Pi

ESP8266 на девборде NodeMCU v3 и прошивка интерпретатора JS Espruino.⁠⁠

Доброго всем времени суток. Вчера мне пришел девборд NodeMCU v3 с 4мб флеш памяти от китайского продавана (ссылка будет в конце поста). Предустановленный на данный девборд интерпретатор LUA меня совсем не устраивал и я решил поставить интерпретатор JS Espruino.

ESP8266 на девборде NodeMCU v3 и прошивка интерпретатора JS Espruino. Esp8266, Arduino, Espruino, Javascript, Интерпретация, Работает, Гифка, Длиннопост

Сначала пройдемся немного по характеристикам самого NodeMcu v3.

поддержка WiFi протоколов 802.11 b/g/n

Wi-Fi Direct (P2P), soft-AP

встроенный стек TCP/IP

встроенный TR переключатель, balun, LNA, усилитель мощности и соответствие сети

встроенный PLL, регуляторы, и система управления питанием

выходная мощность +20.5 дБм в режиме 802.11b

поддержка диверсити антенн

SDIO 2.0, SPI, UART

STBC, 1×1 MIMO, 2×1 MIMO

A-MPDU & A-MSDU aggregation & 0.4μs guard interval

4 мегабайта Flash памяти

пробуждение и отправка пакетов за время до 22 мс

Номинальное напряжение: 3,3 В

Входное напряжение: 3,7–20 В

Максимальный потребляемый ток: 220 мА


Модуль имеет 11 портов ввода-вывода общего назначения.

Некоторые из портов имеют дополнительные функции:

D9, D10 — UART

D1, D2 — I²C/TWI

D5–D8 — SPI

D1–D10 — выходы с ШИМ (PWM)

A0 — аналоговый вход с АЦП


Размеры платы 58х32мм.


А теперь перейдем к черной магии, т.е. к прошивке Espruino.

ESP8266 на девборде NodeMCU v3 и прошивка интерпретатора JS Espruino. Esp8266, Arduino, Espruino, Javascript, Интерпретация, Работает, Гифка, Длиннопост

Для начала нам понадобится установить несколько полезных программ на наш компьютер.

Git - https://git-scm.com/download/win/

Python 2.7 - https://www.python.org/downloads/windows/

При установке Python не забудьте поставить галочку "Add python.exe to PATH"

Поискать свежую прошивку под нашу ESP8266 в ветке форума от юзера с ником tve - http://forum.espruino.com/conversations/279176/ (на данный момент самая свежая это 1v86 прошивка).

Советую положить распакованную папку с прошивкой на рабочий стол и переименовать ее например в espruino.


Подготовительная работа закончена. Начинаем работать с терминалом (при условии что Git и Питон вы уже установили). Все команды для терминала под Windows.


> cd desktop

> git clone https://github.com/pyserial/pyserial

> cd pyserial

> python setup.py install


Этими командами мы перейдем на рабочий стол и клонируем репозиторий pyserial на него. Потом переходим в папку pyserial и запускаем сетап.


> cd ../

> git clone https://github.com/themadinventor/esptool

> cd esptool

> python setup.py install


Качаем esptool на рабочий стол, заходим и запускаем сетап.


Далее заходим в Диспетчер устройств и находим на каком COM порте у нас висит устройство. В моем случае это COM5.

ESP8266 на девборде NodeMCU v3 и прошивка интерпретатора JS Espruino. Esp8266, Arduino, Espruino, Javascript, Интерпретация, Работает, Гифка, Длиннопост

Порт мы узнали значит пришло время прошить девборд.


Заходим в папку с прошивкой из терминала


> cd espruino


И прежде чем шить очистим флеш память устройства от старой прошивки. И затем уже прошить!


> python "../esptool/esptool.py" --port COM5 erase_flash

> python "../esptool/esptool.py" --port COM5 --baud 115200 write_flash --flash_freq 80m --flash_mode qio --flash_size 32m 0x0000 boot_v1.5.bin 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin


Не забудьте указать свой ком порт для устройства и версию бутлоадера из папки с прошивкой (в данном случае boot_v1.5.bin)!!!


После последней команды консоль будет некоторое время работать (если все правильно конечно) и отвечать примерно следующее:


Connecting...

Erasing flash...

Wrote 3072 bytes at 0x00000000 in 0.3 seconds (79.8 kbit/s)...

Erasing flash...

Wrote 438272 bytes at 0x00001000 in 43.4 seconds (80.7 kbit/s)...

Erasing flash...

Wrote 1024 bytes at 0x003fc000 in 0.1 seconds (83.6 kbit/s)...

Erasing flash...

Wrote 4096 bytes at 0x003fe000 in 0.4 seconds (83.4 kbit/s)...

Leaving...


Если все так то у вас прошит интерпретатор JS! Поздравляю! Можно запилить первый скетч.


Для этого нам понадобится Espruino Web IDE для Хрома - https://chrome.google.com/webstore/detail/espruino-web-ide/b...


Открываем IDE и коннектимся к нашему девборду.

ESP8266 на девборде NodeMCU v3 и прошивка интерпретатора JS Espruino. Esp8266, Arduino, Espruino, Javascript, Интерпретация, Работает, Гифка, Длиннопост
ESP8266 на девборде NodeMCU v3 и прошивка интерпретатора JS Espruino. Esp8266, Arduino, Espruino, Javascript, Интерпретация, Работает, Гифка, Длиннопост

Пишем простенький блинк в правой части IDE.


var on = false;

setInterval(function() {

digitalWrite(D2,on = !on);

}, 500);


И прошиваем все это дело в энергозависимую память.

ESP8266 на девборде NodeMCU v3 и прошивка интерпретатора JS Espruino. Esp8266, Arduino, Espruino, Javascript, Интерпретация, Работает, Гифка, Длиннопост

Если все сделано правильно то светодиод синего цвета на плате будет включаться/выключаться с периодичностью раз в 500мс.

ESP8266 на девборде NodeMCU v3 и прошивка интерпретатора JS Espruino. Esp8266, Arduino, Espruino, Javascript, Интерпретация, Работает, Гифка, Длиннопост

Более подробно ознакомится с интерпретатором можно тут - http://www.espruino.com/Reference


C самим языком и правилами хорошего тона можно познакомиться на старом добром ресурсе - http://javascript.ru/


А купить NodeMCU v3 всего за 2.8$ можно по этой ссылке - http://ru.aliexpress.com/item/V3-Wireless-module-NodeMcu-4M-...


Всем удачных компиляций и быстрых доставок с али!


З.Ы. Будет комплект постов про этот девайс и сборку одного подарка на его основе.


Подписывайтесь на "Сообщество Arduino" на Пикабу. Вас ждет масса интересной, полезной и познавательной информации. http://pikabu.ru/community/arduino

Показать полностью 7
[моё] Esp8266 Arduino Espruino Javascript Интерпретация Работает Гифка Длиннопост
62
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии