Sming vs Arduino
Was ist der Unterschied zwischen Arduino und Sming?
Die Programmierung des ESP8266 unter der ArduinoIDE basiert auf diesem Arduino/ESP8266 Core:
https://github.com/esp8266/Arduino
In Verbindung mit der ArduinoIDE steht so schon eine Leistungsstarke und einfach zu bedienende Umgebung zur Verfügung.
Weitere Komponenten sind nicht erforderlich.
Ein möglicher Nachteil könnte hier die komplett eigenständige Umsetzung auf die Hardware des ESP8266 sein.
Veränderungen in der Hardware müssen hier immer erkannt und berücksichtigt werden.
Der Hersteller des ESP8266 bietet für die Entwicklung eigener Firmware ein Software Development Kit (SDK) an.
Leider bleibt hier für nicht "Vollzeitprogrammierer" die Einfachheit der ArduinoIDE auf der Strecke.
Was das Hello World Beispiel des SDKs zeigt:
/*
The hello world demo
*/
#include <ets_sys.h>
#include <osapi.h>
#include <os_type.h>
#include <gpio.h>
#include "driver/uart.h"
#define DELAY 1000 /* milliseconds */
LOCAL os_timer_t hello_timer;
extern int ets_uart_printf(const char *fmt, ...);
LOCAL void ICACHE_FLASH_ATTR hello_cb(void *arg)
{
ets_uart_printf("Hello World!\r\n");
}
void user_rf_pre_init(void)
{
}void user_init(void)
{
// Configure the UART
uart_init(BIT_RATE_115200, BIT_RATE_115200);
// Set up a timer to send the message
// os_timer_disarm(ETSTimer *ptimer)
os_timer_disarm(&hello_timer);
// os_timer_setfn(ETSTimer *ptimer, ETSTimerFunc *pfunction, void *parg)
os_timer_setfn(&hello_timer, (os_timer_func_t *)hello_cb, (void *)0);
// void os_timer_arm(ETSTimer *ptimer,uint32_t milliseconds, bool repeat_flag)
os_timer_arm(&hello_timer, DELAY, 1);
}
Hier kommt jetzt Sming ins Spiel.
Sming stellt einen eigenen ESP8266-Core zur verfügung der wiederum auf dem SDK des Herstellers Espressif aufsetzt und quasi als Interface fungiert.
Sming setzt hier vollständig auf die Arduino übliche Schreibweise auf.
Serial.begin(9600);
Serial.println("Hello Sming! Let's do smart things.");
Warum sollte man jetzt wechseln wollen?
Der o.g. Arduino-Core hat in einigen Punkten noch leichte Probleme mit der ESP-Hardware, bekannte Probleme sind hier z.B PWM, Interrupts und die Resetbehandlung.
Diese Probleme sollen bei der Nutzung des Espressif-/ Sming-Cores nicht mehr auftreten.
Zusätzlich nutzt man als Programmierumgebung Eclipse.
Eclipse ist um einiges mächtiger als die ArduinoIDE, aber natürlich auch um einiges aufwändiger in der Handhabung.
Sming PRO / CONTRA
PRO |
CONTRA |
|
|
Wer Lust hat kann sich Sming/Eclipse ja mal probeweise installieren
Kommentare (1)