Comments 85
UFO just landed and posted this here
Для компиляции прошивки добрые люди запилили frightanic.com/nodemcu-custom-build.
Я присматривался к 12-E, насторожило, что у него PCB-антенна и нет гнезда под внешнюю антенну. Как у него вообще с качеством связи?
Arduino выступает в роли исполнительного модуля. На него цепляется самое разное железо. Например, если нужно считать показания с трех датчиков (температура-влажность, давление, уровень CO2) и вывести результаты на двухстрочный LCD-экран, то как сделать это одним ESP?
Насчет DNS.
Единственный непонятный мне запрос, это вот этот:
18:36:54.966762 IP 192.168.10.36 > 224.0.0.1: igmp v2 report 224.0.0.1
Arduino выступает в роли исполнительного модуля. На него цепляется самое разное железо. Например, если нужно считать показания с трех датчиков (температура-влажность, давление, уровень CO2) и вывести результаты на двухстрочный LCD-экран, то как сделать это одним ESP?
Насчет DNS.
tcpdump ничего такого не показал
18:36:55.097770 IP 192.168.10.36.4096 > 192.168.10.1.53: 0+ A? esp. (21)
18:36:55.097770 IP 192.168.10.36.4096 > 192.168.10.1.53: 0+ A? esp. (21)
18:36:55.097855 IP 192.168.10.1.53 > 192.168.10.36.4096: 0* 1/0/0 A 192.168.10.1 (37)
18:36:55.097862 IP 192.168.10.1.53 > 192.168.10.36.4096: 0* 1/0/0 A 192.168.10.1 (37)
18:41:56.111751 IP 192.168.10.36.4096 > 192.168.10.1.53: 1+ A? api.pushingbox.com. (36)
18:41:56.111751 IP 192.168.10.36.4096 > 192.168.10.1.53: 1+ A? api.pushingbox.com. (36)
18:41:56.111845 IP 192.168.10.1.53 > 192.168.10.36.4096: 1 1/0/0 A 213.186.33.19 (52)
18:41:56.111853 IP 192.168.10.1.53 > 192.168.10.36.4096: 1 1/0/0 A 213.186.33.19 (52)
Оба запроса пришли на мой DNS-сервер (192.168.10.1) и он же ответил на них.
Интересно, почему отправляется сразу по два запроса?
18:36:55.097770 IP 192.168.10.36.4096 > 192.168.10.1.53: 0+ A? esp. (21)
18:36:55.097855 IP 192.168.10.1.53 > 192.168.10.36.4096: 0* 1/0/0 A 192.168.10.1 (37)
18:36:55.097862 IP 192.168.10.1.53 > 192.168.10.36.4096: 0* 1/0/0 A 192.168.10.1 (37)
18:41:56.111751 IP 192.168.10.36.4096 > 192.168.10.1.53: 1+ A? api.pushingbox.com. (36)
18:41:56.111751 IP 192.168.10.36.4096 > 192.168.10.1.53: 1+ A? api.pushingbox.com. (36)
18:41:56.111845 IP 192.168.10.1.53 > 192.168.10.36.4096: 1 1/0/0 A 213.186.33.19 (52)
18:41:56.111853 IP 192.168.10.1.53 > 192.168.10.36.4096: 1 1/0/0 A 213.186.33.19 (52)
Оба запроса пришли на мой DNS-сервер (192.168.10.1) и он же ответил на них.
Интересно, почему отправляется сразу по два запроса?
Единственный непонятный мне запрос, это вот этот:
18:36:54.966762 IP 192.168.10.36 > 224.0.0.1: igmp v2 report 224.0.0.1
www.youtube.com/watch?v=JGb5xMTIoNc ESP-01, а если взять например 07, пинов хватит всем. :) Но в теме заявлен Wi-Fi термометр, мне например показалось, что будет измеряться только лишь температура, поэтому и недопонимание.
Я тоже столкнулся с отсутствием аналогового входа, а датчик как раз таки аналоговый. Буду брать Arduino Pro Mini для этих целей.
Я тоже столкнулся с отсутствием аналогового входа, а датчик как раз таки аналоговый. Буду брать Arduino Pro Mini для этих целей.
UFO just landed and posted this here
По отдельности их подключить можно, а как насчет всех вместе одновременно? Ну, знаете, такая вот погодная станция, с DHT22, датчиком давления, газовым датчиком MG811. Результаты — на дисплей и на сервер для хранения. И пара тройка кнопок на корпусе. А в перспективе желательно еще туда же поставить DS3231 на случай долгой работы без интернета и карту флеш-памяти, чтобы сохранять результаты. Arduino позволяет легко масштабировать проекты не упираясь в необходимость экономить каждый байт памяти и каждый пин. И меня удивляет, почему вы, как поборник дорогих и громоздких комплексных решений не видите очевидных плюсов такой интеграции.
UFO just landed and posted this here
Так в том-то и вопрос — почему бы не заплатить $40 за комплексное решение со связкой ESP+Arduino, у которого возможностей на порядок больше, если вы уж все равно платите $35?
UFO just landed and posted this here
Я использую китайские клоны Ардуино (Nano Pro Mini) — странно было бы не использовать их, если используется китайский же ESP, они стоят по 1.7$ за штуку (а 168 и вовсе по 1.4$). Я все равно вас решительно не понимаю. Есть возмоджность радикально увеличить возможности ESP, практически не увеличив цену платы и ее габариты. Так почему бы и нет? Это же удобное решение, да еще и с потенциальной масштабируемостью (можно добавить 2, 3, да хоть 5 Ардуино).
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Очень даже есть смысл связывать его с ардуиной, у меня esp8266 стоит на меге в качестве TCP<->UART гейта для удаленного управления мегой с телефона/компа. Тоже под nodemcu, кстати. А мега управляет уже значительно более сложным устройством.
Как вы связали Arduino+ESP? Как бегают данные.
Покажу скрипт на lua, простой и надежный:
При этом прошивку для ардуины я отлаживал через обычный серийный порт, и только в релизе с 8266 на борту меняю Serial на HardwareSerial. Всё.
wifi.setmode(wifi.STATION)
wifi.sta.config("ssid","key")
wifi.sta.autoconnect(1) -- восстанавливаем соединение со станцией при потере связи
uart.setup(0,9600,8,0,1,0) -- коннектимся к ардуине
sv=net.createServer(net.TCP, 60) -- создаем сервер
global_c = nil
sv:listen(8266, function(c) -- и слушаем на порту 8266 :)
if global_c~=nil then -- много клиентов мне не надо - я управляю либо с телефона, либо с компа
global_c:close()
end
global_c=c
c:on("receive",function(sck,pl) uart.write(0,pl) end) -- что пришло по TCP валим в UART
end)
uart.on("data",4, function(data) -- Что ответила ардуина - шлем по TCP
if global_c~=nil then
global_c:send(data)
end
end,0 )
При этом прошивку для ардуины я отлаживал через обычный серийный порт, и только в релизе с 8266 на борту меняю Serial на HardwareSerial. Всё.
Об этом подробно будет вторая часть статьи. Но если кратко, то можно как просто связать TX-RX и тогда все работает отлично даже на скорости в 115200, так и через SoftwareSerial, но тогда придется снизить скорость до 9600.
Само общение идет как-то так:
"\n" означает, что функция будет вызвана как только встретится символ "\n", можно вместо этого указать, например, минимальное количество.
Само общение идет как-то так:
uart.write(0,"ARD:gettemp\n"); -- так отправляется запрос
uart.on("data", "\n",
function(data)
-- тут разбираются ответы
_,_,humidity,temp = data:find("OK: ([%d.]+),([%d.]+)");
end, 0);
"\n" означает, что функция будет вызвана как только встретится символ "\n", можно вместо этого указать, например, минимальное количество.
UFO just landed and posted this here
Как насчет подписи данных, например хеш, который генерируется у отправителя и пересчитывается у получателя? Есть что ни будь стандартное для проверки целостности данных?
Сам отвечу на свой вопрос: нашел пример и библиотеку для отправки-приема данных по Serial с проверкой целостности.
Статья полезная. Однако если она позиционируется для начинающих — то лучше не использовать жаргон или вообще малопонятные выражения. Не поймет Вас начинающий.
например:
выбрал модель 07, поскольку у нее отличный металлический щит
Экран это, а не щит!
Если ничего не происходит — мигните питанием
выключите — включите питание.
Иногда фокусы с программатором вешают USB-порт. Лекарство очевидно — вытащить и вставить в другой.
Это перегрузка порта и отключение его по питанию. Разумно перезагрузить комп.
подключаем RX к TX, TX к RX и GND к «земле» (у меня без этого передача нестабильна).
Надежное соединение общих выводов — азы электроники!
например:
выбрал модель 07, поскольку у нее отличный металлический щит
Экран это, а не щит!
Если ничего не происходит — мигните питанием
выключите — включите питание.
Иногда фокусы с программатором вешают USB-порт. Лекарство очевидно — вытащить и вставить в другой.
Это перегрузка порта и отключение его по питанию. Разумно перезагрузить комп.
подключаем RX к TX, TX к RX и GND к «земле» (у меня без этого передача нестабильна).
Надежное соединение общих выводов — азы электроники!
Внес изменения. Насчет общих выводов — скажите, а +3.3В тоже стоит объединять?
если Вы спрашиваете «надо ли объединить выводы +3.3 двух источников» — то очевидно нет. Это будет коротким замыканием для источника с большим внутренним сопротивлением. Да и второму будет нехорошо.
Если вопрос про общие выводы — то конечно да.
Если вопрос про общие выводы — то конечно да.
для начинающих можно было бы пояснять зачем вообще нужен ESP8266
UFO just landed and posted this here
ну да, я его тоже нагуглил. Но базового введения (что это такое и зачем) я там сходу не нашел.
понятнее стало после статей habrahabr.ru/company/coolrf/blog/235881 habrahabr.ru/company/coolrf/blog/238443 habrahabr.ru/post/252481
понятнее стало после статей habrahabr.ru/company/coolrf/blog/235881 habrahabr.ru/company/coolrf/blog/238443 habrahabr.ru/post/252481
UFO just landed and posted this here
К сожалению, Arduino Uno не в состоянии обеспечить такой ток
Я использую ESP-01, питание от Ардуины просто идеально вписывается, хватает. Если подключать через какой ни будь USB-TTL (UART), то вот там питания как раз не хватает.
На форуме esp8266.ru советуют отказаться от использования NodeMCU в сторону github.com/esp8266/Arduino Arduino IDE (C++). Лично я, после того как перешел от NodeMCU к C++, заметил, что выросла стабильность работы и я перестал морочить голову с хипом.
И мне не ясно использование Ардуино, потому что для отправки данных будет достаточно ESP+датчик.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
ESP8266 в прошивке AT периодически теряет точку доступа. И не умеет к ней переподключаться, единственный способ это сделать — RESET. Поэтому варианта тут два — ставить NodeMCU или вводить доп.хардверный костыль на Ардуине.
Можно поинтересоваться, у вас только 2 варианта — использовать NodeMCU или хардварный ресет на ардруине. Не пробывали использовать Arduino IDE и C++? (и проблемы с нехваткой хипа решает)
void loop() {
// при потере подключения - пытаемся переподключиться
while (WiFi.status() != WL_CONNECTED) {
connectWiFi();
}
if (WiFi.status() == WL_CONNECTED && ! mqttClient.connected()) {
if (mqttClient.connect(mqttId)) {
Serial.println("MQTT connected.");
} else {
Serial.println("MQTT connect fail.");
}
delay(500);
}
if (mqttClient.connected() && lastTime+10000 < millis()) {
mqttClient.publish("chart/chart1", "rand1=" + String(random(200,300)) + "&rand2=" + String(random(100, 200)));
Serial.println("MQTT published.");
lastTime = millis();
}
}
И если вы твердо уверены, что NodeMCU лучше, хотелось бы узнать почему?
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Что ж, я сам за стабильность. Личный опыт с NodeMCU показал, что работает это все менее стабильно, чем на C++.
Это весьма удобно, но и сказывается на размере прошивки, а так же потребляемой памяти. Ведь это дополнительная абстракция над кодом на Си.
Я не спорю, код на Lua писать удобно, но и течет такой код по памяти лучше.
И между удобством и просто чтобы стабильней работало — я выбрал стабильную работу.
Код библиотек, вроде MQTT, пока их не подключишь в МК присутствовать не будет.
На Lua весь функционал вписывается в 20 строк, и это весьма удобно.
Это весьма удобно, но и сказывается на размере прошивки, а так же потребляемой памяти. Ведь это дополнительная абстракция над кодом на Си.
Я не спорю, код на Lua писать удобно, но и течет такой код по памяти лучше.
И между удобством и просто чтобы стабильней работало — я выбрал стабильную работу.
Добавим к этому код «сетевой карты к Ардуине», ну чтобы Ардуина общалась с сервером — это сколько еще строк?
Приведу полный скетч
#include <ESP8266WiFi.h>
#include <WiFiServer.h>
#include <MQTT.h>
#include <PubSubClient.h>
#define WIFI_SSID "test_ap"
#define WIFI_PWD "12345678"
IPAddress mqttIp(192, 168, 0, 220);
PubSubClient mqttClient(mqttIp);
String mqttId = "token";
long int lastTime = 0;
void setup() {
Serial.begin(115200);
Serial.println("Started.");
WiFi.mode(WIFI_STA);
WiFi.begin(WIFI_SSID, WIFI_PWD);
}
void loop() {
while (WiFi.status() != WL_CONNECTED) {
connectWiFi();
}
if (WiFi.status() == WL_CONNECTED && ! mqttClient.connected()) {
if (mqttClient.connect(mqttId)) {
Serial.println("MQTT connected.");
} else {
Serial.println("MQTT connect fail.");
}
delay(500);
}
if (mqttClient.connected() && lastTime+10000 < millis()) {
mqttClient.publish("chart/chart1", "rand1=" + String(random(200,300)) + "&rand2=" + String(random(100, 200)));
Serial.println("MQTT published.");
lastTime = millis();
}
}
void connectWiFi(void) {
Serial.print("Connect to Wi-Fi");
int retries = 0;
while (WiFi.status() != WL_CONNECTED) {
retries++;
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.println("Wi-Fi connected.");
Serial.print("IP: ");
Serial.println(WiFi.localIP());
}
Код библиотек, вроде MQTT, пока их не подключишь в МК присутствовать не будет.
UFO just landed and posted this here
Пример простого вебсервера hello-world на С++ для Arduino IDE github.com/sandeepmistry/esp8266-Arduino/blob/master/esp8266com/esp8266/libraries/ESP8266WebServer/examples/HelloServer/HelloServer.ino
Померяйте хип в loop
Померяйте хип в loop
ESP.getFreeHeap()
. В handleNotFound()
иллюстрируется работа с GET данными.И еще есть такая штука, как github.com/marcoschwartz/aREST (возможно не слышали), работаем с пинами ESP по REST, может как то решает вашу задачу. Но если честно, не совсем понял ваш вопрос.
Если вы дерните ESP за URL, то вам нужно сгенерировать какие то данные в Serial порт к которому подключена Ардуина. Если так, то это сделать не составит труда. И задача не сильно сложная, поэтому свободного хипа, я уверен, хватит. Здесь github.com/jmas/ESP8266Device/blob/master/ESP8266Device.h я делал библиотеку для начальной настройки ESP (установка названия AP и пароля через веб-интерфейс). И работает все весьма неплохо. Я думаю, ваша задача должно быть проще.
Если вы дерните ESP за URL, то вам нужно сгенерировать какие то данные в Serial порт к которому подключена Ардуина. Если так, то это сделать не составит труда. И задача не сильно сложная, поэтому свободного хипа, я уверен, хватит. Здесь github.com/jmas/ESP8266Device/blob/master/ESP8266Device.h я делал библиотеку для начальной настройки ESP (установка названия AP и пароля через веб-интерфейс). И работает все весьма неплохо. Я думаю, ваша задача должно быть проще.
UFO just landed and posted this here
Почему глюк? Вы же сами захватили коммуникацию по uart и не вернули ее на место.
Чтобы не доводить дело до перепрошивки, можно делать это не сразу, а по команде с сервера. Или через выполнение другого файла с задержкой в секунду (успеете стереть). В моем случае ESP при включении качает с сервера файл с lua и запускает его, что позволяет, к примеру, одним копированием перевести его в telnet-сервер, чтобы посмотреть что там и как.
Чтобы не доводить дело до перепрошивки, можно делать это не сразу, а по команде с сервера. Или через выполнение другого файла с задержкой в секунду (успеете стереть). В моем случае ESP при включении качает с сервера файл с lua и запускает его, что позволяет, к примеру, одним копированием перевести его в telnet-сервер, чтобы посмотреть что там и как.
Буду ковырять сегодня связь по Serial, может потом чем то полезным помогу в виде кода на C++, пока нем могу ничего конкретного сказать по поводу такого «глюка» в NodeMCU.
UFO just landed and posted this here
Да, если ты берешь Arduino IDE и C++ ты делаешь «статическую» прошивку, «баги» которой в конечном устройстве править будет почти не возможно по Wi-Fi. NodeMCU в этом плане действительно «вещь»: возможность обновлять скрипты по сети это круто.
Бороться с нехваткой памяти мне было сложно, возможность посмотреть общее число свободного места в хипе это хорошо, но если у меня будет «течь» переменная в определенном месте (принимая данные извне) это заставит устройство регулярно перегружаться. А отследить узкое место, в целом, сложновато. Не говорю, что это не реально, но таких «граблей» можно расставить очень много (благо lua нас в этом поощряет), а вменяемых средств дебага не нашел.
Бороться с нехваткой памяти мне было сложно, возможность посмотреть общее число свободного места в хипе это хорошо, но если у меня будет «течь» переменная в определенном месте (принимая данные извне) это заставит устройство регулярно перегружаться. А отследить узкое место, в целом, сложновато. Не говорю, что это не реально, но таких «граблей» можно расставить очень много (благо lua нас в этом поощряет), а вменяемых средств дебага не нашел.
Я против ссылок на компоненты в магазинах. Это уже будет рекламой магазина. К тому же в статье (как это обычно почему-то и бывает) плату называют Arduino Uno R3, в то время как плата совсем другого производителя, подозреваю, что китай. Вот как выглядят оригинальные платы: www.arduino.cc/en/Main/ArduinoBoardUno. Т.е. мы получаем мало того, что рекламу, так ещё и предоставляющую недостоверную информацию (что, вообще говоря, карается). Учитывая, что в поисковике эти компоненты ищутся на раз (первые ссылки), опросник вообще выглядит подозрительно.
В крайнем случае — давать ссылки на [b]несколько[/b] магазинов, и уж во всяком случае давать достоверную информацию.
В крайнем случае — давать ссылки на [b]несколько[/b] магазинов, и уж во всяком случае давать достоверную информацию.
UFO just landed and posted this here
а как по мне так линки удобны — сразу ткнул, посмотрел описание. не устраивает цена или продавец — поискал еще.
все лучше, чем ковыряться в гугле чтобы только взглянуть на внешний вид и описание.
никто же не заставляет вас покупать именно у этого продавца, это просто как пример.
все лучше, чем ковыряться в гугле чтобы только взглянуть на внешний вид и описание.
никто же не заставляет вас покупать именно у этого продавца, это просто как пример.
Все верно, это китайская UNO R3 MEGA328P, стоимостью около 3$. Насчет поиска — тут все не так просто. Например, по запросу «блок питания 3.3В» первой ссылкой идет Чип и Дип, с блоком питания за полторы тысячи рублей. А на Ali поиск затруднен тем, что релеватность невысока и по тому же запросу про «power supply 3.3» вылезает все подряд, включая источники тока с плавающим напряжением в 3-12В.
Ну так зато по запросу «AMS1117-3.3 купить» вылезает что надо. Это как с брендами в художественных фильмах: вроде бы случайно ноут оказался у съёмочной группы фирмы Гнусмас, но по факту получается рекламой. Поэтому пользуются всяческими ухищрениями. Если вы действительно преследуете исключительно образовательные цели, то можно хотя бы выбирать наименьшее из зол: например давать список магазинов, а не только один. Решайте сами, конечно, я исключительно свою субъективно-эгоистическую точку зрения высказал; не хочется мне видеть на Хабре неприкрытую рекламу.
Ссылки не содержат промо-кода, так что мне нет никакой прямой выгоды от их размещения. Закупаюсь я в основном, на Ali, поскольку в российских магазинах часто какая-то негуманная наценка, причем на тот же самый товар. В тексте есть по одной ссылке на Tindie, и Olimex.
Если вы знаете какие-то хорошие магазины, которые можете порекомендовать — напишите, пожалуйста, список. Я посмотрю и добавлю апдейтом.
Если вы знаете какие-то хорошие магазины, которые можете порекомендовать — напишите, пожалуйста, список. Я посмотрю и добавлю апдейтом.
Наценка в наших магазинах как правило, ИМХО, нормальная. Я работал в одном из них раньше, знаю кухню из нутри. Оригинальный товар стоит изначально дорого + наценка 40%-70% в DIY электронике в России — нормальное дело, т.к. больших оборотов пока ни у кого нет (отрасль ещё не развита).
Т.к. работал раньше в одном из магазинов, ссылки давать воздержусь :) Скажу только, что если надо дешёво, то действительно лучше в китае заказывать. Если надо с гарантией или быстро, или не хочется разбираться с заказом из-за бугра, то придётся мириться с «негуманными» российскими ценами. Работа — есть работа, даже если это работа ритейлера. По опыту большинство всё же выбирает второй вариант.
Т.к. работал раньше в одном из магазинов, ссылки давать воздержусь :) Скажу только, что если надо дешёво, то действительно лучше в китае заказывать. Если надо с гарантией или быстро, или не хочется разбираться с заказом из-за бугра, то придётся мириться с «негуманными» российскими ценами. Работа — есть работа, даже если это работа ритейлера. По опыту большинство всё же выбирает второй вариант.
В силу необходимости пришлось немного заняться закупкой ардуино-железок. В «наших» магазинах цена НА ВСЁ получается раз в 2-5 больше, чем на аналогичное по смыслу на Али или Ебэй. И когда речь идёт о «купить набор за 15к у нас или такой же, но рассыпухой в Китае за 3-4к», угадайте, что выберет вменяемый человек, тратящий свои деньги? Да, есть некоторые проблемы с качеством и скоростью доставки, но разница в цене перекрывает это. Вот мне сейчас надо будет для досугового центра (который мы пытаемся организовать) закупить железок на 20 наборов (в каждом наборе 40+ наименований деталек). На Али мне это обойдётся примерно в 90-130к, у «наших» раз в 5 дороже.
Если не секрет, то что у вас вошло в набор?
С ультрасоником намучаетесь, особенно если их несколько в помещении — куча ложных срабатываний. По сравнению с ним Шарповский ИК-сенсор — чудо.
TFT-экран может стать реальной проблемой, мне удалось заставить работать свой только путем дописывания библиотеки. Замечу, что отображение медленное — перерисовка всего экрана занимает секунды.
Я бы предложил добавить еще простенькие радиомодули (не блютус), RFID/NFC и несколько мощных (1-3 ватта) RGB-светодиодов, чтобы роботы подавляли!
А по наводке ignat99 я еще заказал гироскопические сенсоры. Буду учить Ардуину отзываться на условный стук.
TFT-экран может стать реальной проблемой, мне удалось заставить работать свой только путем дописывания библиотеки. Замечу, что отображение медленное — перерисовка всего экрана занимает секунды.
Я бы предложил добавить еще простенькие радиомодули (не блютус), RFID/NFC и несколько мощных (1-3 ватта) RGB-светодиодов, чтобы роботы подавляли!
А по наводке ignat99 я еще заказал гироскопические сенсоры. Буду учить Ардуину отзываться на условный стук.
В наборе и ультрасоники, и ИК-сенсоры, вроде бы. Просто нам, для обучения, надо и то, и другое. Чтобы можно было смотреть, сравнивать, изучать.
С TFT-экраном ещё не работал, но хочется попробовать. Да и там не надо будет игру рисовать, во всяком случае, в ближайшее время.
Про RFID/NFC надо подумать (ещё бы ссылочки на подходящее, т.к. я ещё пока совсем новичок в этом). RGB-светодиоды есть в наборе, но не сильно мощные. Всё же это планируется питать от Ардуинки чаще всего.
С TFT-экраном ещё не работал, но хочется попробовать. Да и там не надо будет игру рисовать, во всяком случае, в ближайшее время.
Про RFID/NFC надо подумать (ещё бы ссылочки на подходящее, т.к. я ещё пока совсем новичок в этом). RGB-светодиоды есть в наборе, но не сильно мощные. Всё же это планируется питать от Ардуинки чаще всего.
Кстати, еще вспомнил. Забавны управляемые RGB-светодиодные пиксели, ленты и массивы. Например, на основе WS2811(12, 12B). Суть в том, что можно назначать им разные цвета. Я вот играюсь сейчас с FC-102. Отдельные пиксели стоят где-то по 6.5-7 рублей за штуку (при крупном заказе), готовые сборки дороже, вплоть до 10-12р за пиксель в зависимости от формы (массив, лента и т.д.)
Насчет радиомодулей RF, они тоже есть на Али, туториалов по ним много, но, в целом, они так же просты в использовании, как и ИК.
Насчет радиомодулей RF, они тоже есть на Али, туториалов по ним много, но, в целом, они так же просты в использовании, как и ИК.
мемс датчики сами умеют реагировать на условный стук и выставлять прерывания :)
Так ваши слова не противоречат моим. Какой смысл в России торговать запчастями с Али? Мало того, что наценка на каждом компоненте в абсолютном значении будет мизерной (а партии, как я уже говорил, в России пока невелики), так ещё и замучаешься с возвратами, мнение о магазине будет плохим («торгуют всяким барахлом»). Гораздо проще работать для другой категории людей. Возвратов минимум (т.к. качество более-менее стабильное), мнение о магазе можно держать хорошее, хороший суппорт организовал — люди вообще довольны как слоны по большей части. И всем хорошо.
А кто хочет купить по цене как на Али (с вытекающими), тот может купить на Али. Кто запрещает? Я когда работал в этой области вообще честно так и говорил: «мы продаём не по минимальным ценам, у нас другие плюсы. Если вам нужно по минимальной цене, покупайте на Али.» И люди по большей части на это нормально реагировали. Если люди работают не на широкую публику, но честно, то я бы не стал их ругать.
А кто хочет купить по цене как на Али (с вытекающими), тот может купить на Али. Кто запрещает? Я когда работал в этой области вообще честно так и говорил: «мы продаём не по минимальным ценам, у нас другие плюсы. Если вам нужно по минимальной цене, покупайте на Али.» И люди по большей части на это нормально реагировали. Если люди работают не на широкую публику, но честно, то я бы не стал их ругать.
Я согласен переплатить за качество при покупке какого-нибудь сложного устройства вроде фотоаппарата, ноутбука и т.п… И, когда я закупал подобную технику для организации, в которой работал, именно так я и делал — переплачивал немного за гарантию и хороший сервис. Но переплачивать в 5 раз за какой-нибудь фоторезистор мне кажется странным. Тем более, что всё равно большинство этих фоторезисторов изначально будет привезено из Китая и у нас его только засунут в красивый корпус.
А получить инфракрасный сенсор не на 3-15 см, а на 50-80 вам понравится? А китайцы даже нам — постоянным корпоративным клиентам, вставляющим им периодически за их ошибки —, умудряли присылать не то, что мы им заказываем. Причем в одной партии могут быть и одни и другие и вообще непонятно что. С фоторезистором, конечно, труднее напутать, но ведь вы выбираете удобные вам примеры. А я про Arduino-совместимые платы вообще молчу, одних плясок с драйверами сколько было…
Я чуть выше давал ссылочку на планируемый набор для обучения детей работе с Ардуино. Если вы (или ещё кто знающий) сможете подсказать, где такое или подобное можно купить более качественно, но за разумные деньги, то я буду вам сильно признателен. Мне бы тоже было лучше работать не с Китаем, но и переплачивать слишком сильно возможности нет, т.к. у спонсоров сразу возникает вопрос: «Если набор Ардуино стоит почти как Лего, то нафига такой набор надо? Ведь с Лего народу больше хочет заниматься.» И, хотя есть понимание, что это всё же разные вещи и для разного уровня, но денежный вопрос тут вылезает во всю ширь.
Вы не частное лицо, как я понял? Вы занимаетесь коммерческой деятельностью? Если да, то заказыйте из Китая. Ищите надёжных поставщиков, занимайтесь их воспитанием, проверяйте за ними товар и делайте всю ту невидимую, но гадкую и муторную работу, которой занимаются все отечественные магазины. Или кооперируйтесь с этими магазинами. Иного выхода нет. Бесплатно никто не работает, не только вы. Кстати, большинство таких магазинов имеют партнёрские соглашения с кружками робототехники, т.е. занимаются тем, чем занимаетесь вы как я понял. Т.ч. они ещё и ваши конкуренты.
Я — учитель физики небольшой школы в областном центре. У меня нет возможности и необходимости воспитывать поставщиков. Мне надо, всего лишь, купить нормальное оборудование для центра, в котором мы будем детей учить работе с Лего, Ардуино и прочими 3D-принтерами. Нашёлся добрый человек, у которого есть некоторое количество денег на это всё и желание помочь в организации…
С магазинами я пока не очень скооперировался. Точнее, есть предложение от «Амперки» на хорошую скидку, но даже с этой скидкой цена набора получается в 3-4 раза больше, чем купить на Али.
С магазинами я пока не очень скооперировался. Точнее, есть предложение от «Амперки» на хорошую скидку, но даже с этой скидкой цена набора получается в 3-4 раза больше, чем купить на Али.
Теперь понял вас.
С этим ничего не поделаешь. Амперка вообще ориентируется на качество в первую очередь (даже среди других магазинов). Например, у них вообще нет в ассортименте китайских Arduino-совместимых плат. В моей родной школе тоже плохо с финансированием и там несколько энтузиастов занимаются тем, чем они не должны по должности заниматься, лишь бы купить дешевле. При недостатке финансирования другого выхода нет.
С этим ничего не поделаешь. Амперка вообще ориентируется на качество в первую очередь (даже среди других магазинов). Например, у них вообще нет в ассортименте китайских Arduino-совместимых плат. В моей родной школе тоже плохо с финансированием и там несколько энтузиастов занимаются тем, чем они не должны по должности заниматься, лишь бы купить дешевле. При недостатке финансирования другого выхода нет.
UFO just landed and posted this here
То ли я чего-то недопонял, то ли это не совсем то, что я ищу. Но в любом случае спасибо, поизучаю ссылки повнимательнее.
Почему бы не брать Arduino Pro Mini (оригинал) они у нас в магазине за углом по 3$. Идентична с Arduino Nano (Uno без гнезда для БП). Правда нехватка USB-TTL может иметь значение. USB-TTL можно докупить за 1.5$, но если не хочется морочить голову, можно брать Arduino Pro Micro в районе 7$ (опять таки локально). На алиэкспресс Arduino Pro Micro по 3$ (а Uno по 5.6$). Это я к тому, если есть желание сэкономить. Для обучения, я не думаю, что будут серьезные отличия от Uno, если вообще будут (разве что нет гнезда для БП) и как бонус — кабель miniUSB, который стоит копейки.
Гхм, я давно заказываю на Ebay, Ali и MiniInTheBox. Бывали и ошибки продавцов. Для этого существуют диспуты, позволяющие как серьезно срезать стоимость заказа, так и вовсе отказаться от оплаты (с возвратом товара). Есть и откровенное мошенничество, которое, впрочем, очевидно: когда продают power bank на 100,000м*Ач за 1000 рублей, флешку на 128 гигов за 300 рублей, стоваттный лазер, питающийся от пальчиковой батарейки или чудо-вебкамеру с невероятным разрешением. Как правило, таким страдают низкорейтинговые продавцы, впрочем их тоже можно потроллить с помощью диспутов.
Бывает, что продавцы наборов тормозят с отправкой (на самом деле они просто скупают набор, перепаковывают и отправляют). Бывает, что товар приходит в плохом состоянии — мне пришла плата с 8 реле с погнутыми пинами. Тем не менее, торгующие компонентами крупные продавцы редко когда косячат специально и, как правило, идут навстречу при решении проблем, не только не возражая против разумных рефандов, но еще и добавляя купоны.
Самый серьезный минус — время ожидания. Не очень-то радостно ждать полтора месяца какую-нибудь мелочь.
Ну и о печальном опыте покупки. Купил я в одном российском магазине келлеровский токопроводящий маркер с доставкой. Он месяц шел, а когда пришел, то оказалось, что пересохший. Я его и тряс, как положено по инструкции, и всячески крутил — увы, пользоваться им не получилось. Мои вопросы и претензии магазин просто проигнорировал. И вот это огорчило даже больше, чем негуманные наценки и затянутая доставка. Даже не столько жаль денег, сколь неприятно такое отношение и ощущение беззащитности перед косяками продавца. Все же, защита покупок — великая вещь.
Бывает, что продавцы наборов тормозят с отправкой (на самом деле они просто скупают набор, перепаковывают и отправляют). Бывает, что товар приходит в плохом состоянии — мне пришла плата с 8 реле с погнутыми пинами. Тем не менее, торгующие компонентами крупные продавцы редко когда косячат специально и, как правило, идут навстречу при решении проблем, не только не возражая против разумных рефандов, но еще и добавляя купоны.
Самый серьезный минус — время ожидания. Не очень-то радостно ждать полтора месяца какую-нибудь мелочь.
Ну и о печальном опыте покупки. Купил я в одном российском магазине келлеровский токопроводящий маркер с доставкой. Он месяц шел, а когда пришел, то оказалось, что пересохший. Я его и тряс, как положено по инструкции, и всячески крутил — увы, пользоваться им не получилось. Мои вопросы и претензии магазин просто проигнорировал. И вот это огорчило даже больше, чем негуманные наценки и затянутая доставка. Даже не столько жаль денег, сколь неприятно такое отношение и ощущение беззащитности перед косяками продавца. Все же, защита покупок — великая вещь.
Спасибо, делал похожее. Данные передавал по serial в форме псевдо-json. Работало достаточно стабильно.
Далее решил попробовать запилить все на чистом lua, получилось вот что. Работало стабильно. Далее решил запилить конфигурацию «нового» устройства (финт со сменой режимов и загрузкой конфиг файла с ФС) — начались тупняки с памятью. Далее стал комплировать lua, все равно мало памяти.
Расстроился, понял что система не стабильна. Количество багов растет. SDK до сих пор 0.9.5, последний релиз 2015-03-31 :(
Не пробовали смотреть в сторону ESP8266-only решения, типа sming? Приходите, коммьюнити живое.
Далее решил попробовать запилить все на чистом lua, получилось вот что. Работало стабильно. Далее решил запилить конфигурацию «нового» устройства (финт со сменой режимов и загрузкой конфиг файла с ФС) — начались тупняки с памятью. Далее стал комплировать lua, все равно мало памяти.
Расстроился, понял что система не стабильна. Количество багов растет. SDK до сих пор 0.9.5, последний релиз 2015-03-31 :(
Не пробовали смотреть в сторону ESP8266-only решения, типа sming? Приходите, коммьюнити живое.
UFO just landed and posted this here
Спасибо, да, я до этого дошел уже потом, но оно стало выглядеть, мягко говоря «не очень».
Я компилировал файлы во время загрузки. Загружаем lua файл, компилируем, удаляем lua файл.
Мне конечно, нравится идея запуска динамических скриптов на SoC, и lua-наилучший кандидат из-за его минимализма. Но вот что-то мне кажется nodemcu так и останется на esp8266 и устройствах от espressif.
Я компилировал файлы во время загрузки. Загружаем lua файл, компилируем, удаляем lua файл.
def file_compile(self, path):
log.info('Compile '+path)
cmd = 'node.compile("%s")' % path
self._port.write(cmd + '\r\n')
r = self.dump()
log.info(r)
return r
Мне конечно, нравится идея запуска динамических скриптов на SoC, и lua-наилучший кандидат из-за его минимализма. Но вот что-то мне кажется nodemcu так и останется на esp8266 и устройствах от espressif.
Есть проект, где разрабатывается готовая прошивка с поддержкой кучей датчиков, дисплеев, счётчиков и прочего. Есть конструктор прошивки:
homes-smart.ru/index.php/oborudovanie/bez-provodov-wi-fi/62-besprovodnoj-datchik-na-baze-esp8266-dlya-servisa-narodmon-ru
Пока не дошёл до программирования самого чипа использую эту прошивку, я думаю 80% стандартных поделок она уже может покрыть.
Разработчик достаточно оперативно на хотелки отзывается.
homes-smart.ru/index.php/oborudovanie/bez-provodov-wi-fi/62-besprovodnoj-datchik-na-baze-esp8266-dlya-servisa-narodmon-ru
Пока не дошёл до программирования самого чипа использую эту прошивку, я думаю 80% стандартных поделок она уже может покрыть.
Разработчик достаточно оперативно на хотелки отзывается.
Если кому-либо интересен выбор конденсатора — на SE подробно объяснили: electronics.stackexchange.com/questions/18384/why-does-the-lm1117-data-sheet-specifically-specify-tantalum-capacitors (tl;dr танталовый конденсатор — необязателен, есть варианты получше).
Sign up to leave a comment.
Arduino + ESP8266 с нуля на примере Wi-Fi термометра, часть первая