- Saved searches
- Use saved searches to filter your results more quickly
- License
- KamranBabar16/UNO-WiFi-R3-ATmega328P-ESP8266
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- Используем Arduino UNO с WiFi на одной плате для POST запроса на сервер
- Таблица переключателей.
- Передача информации на серверы Cayenne и RemoteXY.
- Передача информации на произвольный сервер.
- Uno R3 + WiFi ESP8266 (Arduino совместимая плата)
- Технические характеристики
- Комплектация
- Способы доставки
- Самовывоз
- Курьером по г. Москва до двери в пределах МКАД – по вашему адресу
- Пункты выдачи «СДЭК» в Вашем населённом пункте
- Курьером «СДЭК» по вашему адресу
- Почтой России – до почтового отделения в Вашем населённом пункте
- Способы оплаты
- Оплата банковской картой
- Оплата при получении
- Безналичный расчет для юридических лиц
- How-To Arduino Wifi (ATMega328P+ESP8266)
- Setting the DIP switches
- Setting up Arduino IDE
- UNO/ESP8266 integration
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
License
KamranBabar16/UNO-WiFi-R3-ATmega328P-ESP8266
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
This project is made for Arduino Uno WiFi is an Arduino Uno with an integrated WiFi module. Now you can use both module together communicating with each other using serial pins without modifying any firmware.
Don’t forget to change board options before uploading when switching.
Используем Arduino UNO с WiFi на одной плате для POST запроса на сервер
В статье «Как у меня заработал WIFI для Arduino ESP8266 ESP-12E» рассказывал как заставить работать платы Arduino UNO с ESP8266 ESP-12E UART Wi-Fi.
Но зачем такие сложности, если есть уже совмещенная плата?
Вместо слоеного пирога из двух плат:
И она заработала безо всяких прошивок и перепрошивок.
Работает только на скорости 115200
Среда Arduino уже была настроена для работы.
Осталось только переключатели перещелкивать, чтобы заливать скетч в UNO.
Таблица положений переключателей есть здесь.
Вот только не упомянуто положение переключателей (1-4 ON), когда во время работы Mega328+ESP8266 CH340 мониторит порт и выводит в консоль передаваемые команды.
Как настроить среду Arduino объясняется здесь или здесь.
Таблица переключателей.
CH340 connect to ESP8266 (upload sketch)
CH340 connect to ESP8266 (connect)
CH340 connect to ATmega328 (upload sketch)
All modules work independent
Совместная работа и мониторинг команд
Передача информации на серверы Cayenne и RemoteXY.
Протестировал плату на решении задач, скетчи которых заливал в слоеный пирог из двух плат:
Эти сервисы предоставляют свои библиотеки для работы с ESP8266.
Все заработало сразу без изменений и мучений.
Необходимо в скетчах заменить скорость на 115200.
Передача информации на произвольный сервер.
Решение предыдущей задачи «Отправка данных из ESP8266WiFi на сервер с CMS MaxSite» с этой платой повторить не удалось.
Для отправки данных на произвольный сервис использовалась универсальная библиотека WiFiESP.
И оказалось, что эта библиотека не заработала с этой платой, выдавая
[WiFiEsp] Warning: Unsupported firmware 0.9.5
Действительно, модуль при обращении с соответствующей командой AT+GMR сообщает версию SDK 0.9.5:
В файле README.md библиотеки можно прочитать:
Попытки обновить прошивку при помощи flash_download_tools не увенчались успехом (да и не старался особо):
Ведь библиотеки Cayenne и RemoteXY для этой платы заработали без проблем!
В этих статьях описывается способ обращения к ESP8266 обычными командами без библиотек.
Будем обрабатывать POST запрос к серверу при помощи плагина my_esp8266 для MaxSiteCMS, который принимает данные.
Заработал вот такой скетч.
// отсылает данные в плагин http://fil-tec.ru/tag/My_ESP8266 для MaxSite CMS String ssid ="Router name"; String password="**********"; String server = "my.site.ru"; // сайт, на котором установлен пагин My_esp8266 String uri = "/ajax/**************************"; // скопировать со страницы "Тест" админки плагина My_esp8266 адрес для обращения с запросами String PORT = "80"; int countTrueCommand; int countTimeCommand; boolean found = false; int valSensor = 1; String jsonString; // данные String PostHeader; // заголовок String data; int DHpin = 4; //sensor pin byte dat [5]; String temp ,hum; #define PIN_SWITCH_1 12 #define PIN_SWITCH_2 13 void setup() < pinMode (DHpin, OUTPUT); pinMode (PIN_SWITCH_1, OUTPUT); pinMode (PIN_SWITCH_2, OUTPUT); Serial.begin(115200); reset(); connectWifi(); >void reset() < Serial.println("AT+RST"); delay(1000); >//connect to your wifi network void connectWifi() < Serial.begin(115200); sendCommand("AT", 5, "OK"); sendCommand("AT+CWMODE=1", 5, "OK"); sendCommand("AT+CWJAP=\"" + ssid + "\",\"" + password + "\"", 20, "OK"); digitalWrite(PIN_SWITCH_2, (found == true)?LOW:HIGH); >byte read_data () < byte data; for (int i = 0; i < 8; i ++) < if (digitalRead (DHpin) == LOW) < while (digitalRead (DHpin) == LOW); // wait for 50us delayMicroseconds (30); // determine the duration of the high level to determine the data is '0 'or '1' if (digitalRead (DHpin) == HIGH) data |= (1 > return data; > void start_test () < digitalWrite (DHpin, LOW); // bus down, send start signal delay (30); // delay greater than 18ms, so DHT11 start signal can be detected digitalWrite (DHpin, HIGH); delayMicroseconds (40); // Wait for DHT11 response pinMode (DHpin, INPUT); while (digitalRead (DHpin) == HIGH); delayMicroseconds (80); // DHT11 response, pulled the bus 80us if (digitalRead (DHpin) == LOW); delayMicroseconds (80); // DHT11 80us after the bus pulled to start sending data for (int i = 0; i < 4; i ++) // receive temperature and humidity data, the parity bit is not considered < Serial.println(i); dat[i] = read_data (); >pinMode (DHpin, OUTPUT); digitalWrite (DHpin, HIGH); // send data once after releasing the bus, wait for the host to open the next Start signal > void loop () < start_test (); // convert the bit data to string form hum = String(dat[0]); temp= String(dat[2]); jsonString = "secret=0000&name=ESP_8266WiFi&temp=" + temp + "&hum=" + hum; httppost(); delay(1000); >void httppost () < String postRequest = "POST " + uri + " HTTP/1.1\r\n" + "Host: " + server + "\r\n" + "User-Agent: ESP8266WiFi\r\n" + "Accept: application/xml\r\n" + "X-Requested-With: XMLHttpRequest\r\n" + "Referer: http://my.site.ru\r\n" + "Connection: close\r\n" + "Content-Length: " + jsonString.length() + "\r\n" + "Content-Type: application/x-www-form-urlencoded\r\n" + "\r\n" + jsonString; sendCommand("AT+CIPMUX=1", 5, "OK"); sendCommand("AT+CIPSTART=0,\"TCP\",\"" + server + "\"," + PORT, 15, "OK"); sendCommand("AT+CIPSEND=0," + String(postRequest.length() + 2), 4, ">"); sendCommand(postRequest, 5, "OK"); delay(1500); countTrueCommand++; sendCommand("AT+CIPCLOSE=0", 5, "OK"); > void sendCommand(String command, int maxTime, char readReplay[]) < while (countTimeCommand < (maxTime * 1)) < Serial.println(command);//at+cipsend delay(1500); if (Serial.find(readReplay)) //ok < found = true; break; >countTimeCommand++; > if (found == true) < // успешно digitalWrite(PIN_SWITCH_1, LOW); countTrueCommand++; countTimeCommand = 0; >if (found == false) < // неудачно digitalWrite(PIN_SWITCH_1, HIGH); countTrueCommand = 0; countTimeCommand = 0; >found = false; >
Uno R3 + WiFi ESP8266 (Arduino совместимая плата)
Плата UNO R3, включает в себя чип WiFi ESP8266 с 32 мБ памяти и микропроцессор ATmega328P, что позволяет использовать плату как классическую Arduino UNO, а при необходимости использовать и весь потенциал платы с модулем WIFI и памятью.
Распиновка выполнена по классической схеме Arduino UNO, что позволяет сохранять совместимость с платами расширения и подключаемыми устройствами. Все модули могут работать вместе или независимо.
На плате расположен переключатель режима работы с 8 положениями
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
---|---|---|---|---|---|---|---|---|
CH340 подключается к ESP8266 (загрузка скетча) | Выкл | Выкл | Выкл | Выкл | Вкл | Вкл | Вкл | Не используется |
CH340 подключается к ESP8266 (соединение) | Выкл | Выкл | Выкл | Выкл | Вкл | Вкл | Выкл | Не используется |
CH340 подключается к ATmega328 (загрузка скетча) | Выкл | Выкл | Вкл | Вкл | Выкл | Выкл | Выкл | Не используется |
Mega328 + ESP8266 | Вкл | Вкл | Выкл | Выкл | Выкл | Выкл | Выкл | Не используется |
Все модули работают независимо | Выкл | Выкл | Выкл | Выкл | Выкл | Выкл | Выкл | Не используется |
Технические характеристики
Микроконтроллер: ESP8266
Конвертор: USB-TTL CH340G
Сила тока для выхода при 5В (мА): 800
Сила тока для входа USB 5В (мА): 500 макс
Сила тока для входа VIN/DC Jack (В): 9-24
Энергопотребление при 5В (мА): 800
Логический уровень (В): 5
WiFi: Wi-Fi 802.11 b/g/n 2.4 ГГц
USB: Micro USB
Тактовая частота (МГц): 16
Рабочее напряжение (В): 5 Цифровые контакты ввода/вывода: 14
Аналоговые входные пины: 6
Флеш память (мб): 32
Тип интерфейса: serialOTA
Антенна: встроенная / разъем для внешней
Диапазон рабочих температур (С°): −40. +80
Размеры (мм): 53.34×68.51
Комплектация
1 × Uno R3 + WiFi ESP8266 (Arduino совместимая плата)
Способы доставки
Самовывоз
Вы можете забрать свой заказ самостоятельно в часы работы (Пн — Пт 10.00-18.00) офиса по адресу Староватутинский проезд д.12/3 (м Бабушкинская).
Обязательно ознакомьтесь со схемой прохода/проезда в разделе Контакты.
Внимание! Въезд на территорию на автомобиле не доступен. Машину можно оставить рядом на бесплатной парковке.
Вход на территорию свободный.
Оплата заказа осуществляется наличными. Возможен перевод на банковскую карту.
Курьером по г. Москва до двери в пределах МКАД – по вашему адресу
1-2 рабочих дня, с 10:00 до 19:00
Стоимость доставки 350 руб.
По рабочим дням, при заказе до 10:00 — доставка осуществляется в день заказа, после 10:00 — на следующий рабочий день.
Пункты выдачи «СДЭК» в Вашем населённом пункте
Заказ передается в доставку на следующий рабочий день.
Оплата возможна при получении
Cрок доставки зависит от удаленности и рассчитывается автоматически.
После оформления заказа на электронный адрес указанный при оформлении заказа высылается трек-номер для отслеживания
Стоимость доставки рассчитывается автоматически. При заказе от 4000 р – доставка до пункта выдачи бесплатно.
Курьером «СДЭК» по вашему адресу
Заказ передается в доставку на следующий рабочий день.
Оплата возможна при получении, при этом наложенный платеж взимаемый транспортной компанией указывается при оформлении заказа.
Cрок доставки зависит от удаленности и рассчитывается автоматически.
После оформления заказа на электронный адрес указанный при оформлении высылается трек-номер для отслеживания
Стоимость доставки рассчитывается автоматически
Почтой России – до почтового отделения в Вашем населённом пункте
Заказ передается на Почту в течении 1-2 рабочих дней после 100% оплаты
Cрок доставки зависит от удаленности и рассчитывается автоматически.
После оформления заказа на электронный адрес указанный при оформлении высылается трек-номер для отслеживания
Стоимость доставки рассчитывается автоматически
Способы оплаты
Оплата банковской картой
Оплата заказа может быть произведена с использованием банковской карты VISA, Maestro, MasterCard, МИР и другими. Оплата осуществляется прямо на сайте непосредственно после оформления заказа.
Для оплаты (ввода реквизитов Вашей карты) Вы будете перенаправлены на платежный шлюз АО «Тинькофф Банк». Соединение с платежным шлюзом и передача информации осуществляется в защищенном режиме с использованием протокола шифрования SSL. В случае если Ваш банк поддерживает технологию безопасного проведения интернет-платежей Verified By Visa или MasterCard SecureCode для проведения платежа также может потребоваться ввод специального пароля.
Наш сайт поддерживает 256-битное шифрование. Конфиденциальность сообщаемой персональной информации обеспечивается АО «Тинькофф Банк» в соответствии с требованиями Центрального банка. Введенная информация не будет предоставлена третьим лицам за исключением случаев, предусмотренных законодательством РФ. Проведение платежей по банковским картам осуществляется в строгом соответствии с требованиями платежных систем МИР, Visa Int. и MasterCard Europe Sprl.
Оплата при получении
Заказ можно оплатить наличными, по факту получения товара от Курьера или при получении в пункте выдачи заказов СДЭК.
После оформления заказа наш менеджер свяжется с Вами для уточнения деталей.
Безналичный расчет для юридических лиц
Оформление заказа для юридических лиц возможна при заказе от 5000 рублей.
При оформлении заказа заполните поле Комментарий или вышлите Ваши реквизиты нам на почту [email protected]
Отгрузка товара осуществляется после поступления оплаты
Подробности и основные ответы на вопросы по работе с юридическими лицами в разделе Юридическим лицам
How-To Arduino Wifi (ATMega328P+ESP8266)
You will have noticed in our store the nifty «Uno R3 Wifi» — an Arduino compatible board which features an UNO R3 with Wifi enabled by having an ESP8266 on the same board.
The board is also commonly known as XC4411 (in case you want to google more about it).
Setting the DIP switches
The board is designed for the UNO and ESP8266 to be programmed as their own devices and then allowing communication between the two devices.
- Program Arduino UNO
- Program ESP8266
- Connect to ESP8266 (via serial port)
- Connect Arduino UNO and ESP8266 to let them play together
- Run Arduino UNO and ESP8266 independently (they can’t see each other)
is achieved by an array of mini (or should we call them micro?) DIP switches.
The combination of seven switches (the eight doesn’t have a function) will set the operating mode as follows:
I want to | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
.. program Arduino | OFF | OFF | ON | ON | OFF | OFF | OFF | NA |
.. program ESP8266 | OFF | OFF | OFF | OFF | ON | ON | ON | NA |
.. connect to ESP8266 (Serial) | OFF | OFF | OFF | OFF | ON | ON | OFF | NA |
.. connect Uno to ESP8266 | ON | ON | OFF | OFF | OFF | OFF | OFF | NA |
.. run UNO and ESP8266 independently | OFF | OFF | OFF | OFF | OFF | OFF | OFF | NA |
As with many things ESP — you will need to put — after setting the DIP switches — the ESP into programming mode by pressing the «ESP Reboot» button.
Setting up Arduino IDE
The Arduino IDE already knows about the UNO, however — if you are not already using ESP8266 boards in your IDE — you will need to load the ESP8266 into the IDE Board Manager.
Rather than rehashing the «How to setup ESP8266 in Arduino IDE» here, I recommend to have a look at Random Nerd Tutorials which have covered the topic very well across different OS. For us the only difference is the physical connection of the board to the IDE .. USB cable, set the dips, hit the «ESP Reboot button» — for the instructions click here
UNO/ESP8266 integration
The integration between the UNO and the ESP8266 boards works the same way as if you would connect a ESP8266 board (ESP01-S, NodeMCU, etc.) to an UNO via cables and the respective pins and make them communicate via the serial ports using serial.write() and serial.read() .
Here are really great instructions from the guys at Iinstructables.com — only difference for you is that you do not need to wire the two boards together as you are have them on a single board. Just use the DIP switches to point the USB TTL to the right board and then to connect them together.
Any questions — drop us an email.