Быстрый старт Nodemcu ( ESP8266 ) на Arduino

1. Качаем Arduino IDE 1.6.8 или выше.

2. Запускаем.

3. Открываем файл>настройки

4. Вбиваем в дополнительные ссылки http://arduino.esp8266.com/stable/package_esp8266com_index.json

5. Открываем Инструменты>Плата>Менеджер плат

6. Вбиваем в поисковик esp8266

7. Устанавливаем

8. Выбираем плату NodeMCU

9. Открываем пример WiFi web server

10. Вбиваем SSID и Password

11. Profit!

 

 

Оригинал: http://www.instructables.com/id/Quick-Start-to-Nodemcu-ESP8266-on-Arduino-IDE/

ESP8266 Hello world

Обзор ESP8266, с чего начать?

Wi-Fi модули с ESP8266 чипом сейчас активно набирают обороты. Есть сайт посвященный данному кристаллу.

Сами разработчики предлагают несколько вариантов своего продукта, называются ESP1-12E.

Различаются они лишь по 2м параметрам:

  • количество пинов
  • наличие/отсутствие антенны

Так вот, даже не хочу рассматривать какие-то зарезанные варианты типа ESP-01, у которого выведен только  UART.

Наибольшим функционалом обладает ESP-12E (купил здесь: http://ru.aliexpress.com/item/Free-Shipping-2pcs-lot-ESP8266-remote-serial-Port-WIFI-wireless-module-through-walls-Wang-ESP-12/32256161821.html ). Единственное, эту платку не положишь на макетку, шаг выводов 2 мм.

Для этого можно просто взять готовую платочку http://ru.aliexpress.com/item/Serial-WIFI-ESP8266-module-adapter-plate-Full-IO-port-leads-you-can-choose-the-ESP-07/32380914509.html ну или мучатся.

Ну и конечно же есть очень много готовых решений (как Arduino):

  • ESPDuino

 

  • sparkfun esp8266 thing

  • ESPresso

  • Adafruit

  • WeMos

  • Olimex

ESP8266 прошивается из под Arduino IDE

Для меня, как и для многих, наверное, будет очень важным плюсом, что его можно прошить через Arduino IDE. По этому повоу есть много статей, вот 2 например:

Свои решения используя плату

Вот и мое решение, которое конечно с первого раза не завелось. Пришлось дорабатывать.

 

Ссылочки:

  • https://www.youtube.com/watch?v=0J1Nt4q7uCQ
  • http://www.instructables.com/id/Programming-the-ESP8266-12E-using-Arduino-software/step10/Configuring-COM-Port/
  • https://raw.githubusercontent.com/nodemcu/nodemcu-devkit/master/Documents/NODEMCU_DEVKIT_SCH.png
  • http://esp8266.github.io/Arduino/versions/2.0.0/doc/boards.html

Использование библиотек из Arduino в AVRStudio

Чтобы использовать любую библиотеку Arduino в AVRStudio необходимо совсем немногое.

Разберем структуру пустого проекта. В общем то там 2 файла. Нас интересует следующий:

У него вот такое вот содержимое:

#define __AVR_ATmega328p__
#define __AVR_ATmega328P__
#define ARDUINO 161
#define ARDUINO_MAIN
#define F_CPU 16000000L
#define __AVR__
extern "C" void __cxa_pure_virtual() {;}

//
//

#include "...\arduino\hardware\arduino\avr\variants\standard\pins_arduino.h" 
#include "...\arduino\hardware\arduino\avr\cores\arduino\arduino.h"
#include <testtest.ino>

Нам понабоится подключить 2 библиотеки. Далее смотрим структуру main.cpp (точка входа)

...\arduino\hardware\arduino\avr\cores\arduino\main.cpp

Там собственно описана вся структура работы ардуины:

#include <Arduino.h>

//Declared weak in Arduino.h to allow user redefinitions.
int atexit(void (*func)()) { return 0; }

// Weak empty variant initialization function.
// May be redefined by variant files.
void initVariant() __attribute__((weak));
void initVariant() { }

int main(void)
{
	init();

	initVariant();

#if defined(USBCON)
	USBDevice.attach();
#endif
	
	setup();
    
	for (;;) {
		loop();
		if (serialEventRun) serialEventRun();
	}
        
	return 0;
}

Попробуем создать свой проект по такому лекалу.

  • Создаем новый проект
  • Копируем из ArduinoIDE папку C:\Users\Sainquake\Desktop\arduino\hardware\arduino\avr к себе в проект рядом с входной точкой проекта (Файл в котором main)
  • Пишем следующий код в теле. Подгрузку выделеной бибилотеки нужно отключить

  • Меняем пути на которые ругается компилятор

Все. Должно скомпилироваться.

Тестируем

Добавляем следующий код:

void setup(void){
	pinMode(13, OUTPUT);
}

void loop(void){
	  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
	  delay(1000);              // wait for a second
	  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
	  delay(1000);              // wait for a second
}

Добавляем библиотеки ваеринга:

#include "avr\cores\arduino\wiring.c"
#include "avr\cores\arduino\wiring_digital.c"

В них опять нужно поменять путь к pins_arduino.h

#include "C:\Users\Sainquake\Documents\Atmel Studio\6.2\GccApplication1\GccApplication1\avr\variants\standard\pins_arduino.h"

Компилируем, прошиваем. У меня нет программатора, так что я пользуюсь бутлоадером Arduino и прогой XLoader.

Результат следующий

 

 

MyRIO Hello world

Первый запуск myRIO.

Вся необходимая инфа есть на следующей тсраничке: http://www.ni.com/product-documentation/14603/en/.

Если подробнее, то на той же самой страничке есть ссылка на установщик всего необходимого для работы с устройством. http://www.ni.com/download/ni-myrio-software–2015/5727/en/

Нужно установить хотя бы базовый комплект. Приготовьтесь – это 5.5 ГБ. Но никаких граблей не выявил.

Get Started

После установки можно подключать устройство к ПК. Он найдет драйвер и попросит зарегистрировать устройство и привязать к учетной записи.

Первое что нужно сделать далее – это обновить прошивку. Он сам предложит это сделать сам. Ждем. И после установки запускаем программу Launch Getting Started Wizzard. Появится следующее окошко:

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

Теперь сделаем свой первый проект.

Hello World!

Жмем на Go To LabVIEW и создаем простой проект myRIO. Появляется следующее окно:

При двойном клике по нему появится его программа:

Добавим отображение состояния кнопки button0.  Переходим обратно в фронтовую панель (это где серая панель в клеточку). Находим раздел Silver:

Выносим индикатор в рабочую область.

Переходим обратно в заднюю панель. И находим Кнопку в закладке myRIO.

Нужно создать следующую конструкцию:

Все. мы связали логический выход кнопки с индикатором на панели. можем запускать:

В качестве задания:

Попробовать связать выключатель на панели и светодиод на myRIO.