Archiv der Kategorie: IoT

Ledunia Benchmarks

Mit dem Beitrag Arduino32: Die jungen Wilden in der Zeitschrift DESIGN&ELEKTRONIK (Online-Version Teil 1Online Version Teil 2) hatte ich 32-Bit Arduinos vorgestellt und an Hand einfacher Benchmarks miteinander verglichen.

Der verbreitete #ESP8266 ist ebenfalls in die Arduino Umgebung integriert und die Verfügbarkeit von #Ledunia als High-End-ESP8266-Modul haben mich veranlasst, diese Tests mit Ledunia zu wiederholen.

Die Programme selbst sind unter GitHub abgelegt, können von da heruntergeladen und in der Arduino IDE ausgeführt werden. Hier sind die Benchmark-Ergebnisse im Vergleich zu verschiedenen klassischen Arduinos:

Board Arduino Uno Arduino M0 Arduino Due Ledunia
CPU ATmega328 ATSAMD21G18
(Cortex-M0+)
AT91SAM3X8E
(Cortex-M3)
ESP8266EX
Clock 16 MHz 48 MHz 84 MHz 80 MHz
Runtime 18267 ms 5180 ms 3451 ms 2189 ms
IO-  Periode 11,60 us 3.24 us 4,32 us 5 us
I/O-Frequenz 86,21 kHz 308,6 kHz 203,3 kHz 200 kHz

Die Leistungsmerkmale der ESP8266-basierten Arduinos können sich sehen lassen und bilden damit eine sehr gute Ergänzung der Arduino-Familie.

Advertisements

Grove Shield für BBC Micro:bit

Mit dem Grove Shield erschließt sich dem BBC Micro:bit Controller die ganze Familie der Grove Sensoren und Aktoren auf sehr einfache Weise.

Grove i2C Shield

Folgende Interfaces stehen nach aussen hin zur Verfügung:

DC Interfaces Micro USB x1
Grove Interface P0/P14,P1/P15,P2/P16,I2C
Grove ZERO Interface Grove ZERO x1
Logic Interface 3V3/P0/P1/P2/P8/P12/P13/GND

Mit einem Grove I2C Hub kann die Zahl der anschließbaren I2C Devices erweitert werden .

Hello World für Ledunia

Ledunia bezeichnet ein leistungsfähiges IoT Entwicklungsboard für das IoT auf Basis des bekannten ESP8266 Mikrocontrollers.

Die Installation in der Arduino IDE ist auf der Ledunia Website im Detail beschrieben. Hier ist ein einfaches Programmbeispiel im „Hello World“-Stil gezeigt, welches die erfolgreiche Inbetriebnahme zeigt.

Der deutlich grössere Speicher im Vergleich zum NodeMCU ist aus den Screenshots ersichtlich.

// Uncomment your board

#define ESP8266_LED 5 // for Ledunia
#define NodeMCU_LED D0 // for NodeMCU

#define LED ESP8266_LED // adapt it

ADC_MODE(ADC_VCC);

byte count = 0;

void setup() 
{
  pinMode(LED, OUTPUT);
  Serial.begin(115200);
  delay(4000); // waiting to start the monitor
  Serial.print("Hi there, here is "); 
  Serial.println("Ledunia"); // for Ledunia
//  Serial.println("NodeMCU"); // for NodeMCU
  Serial.print("ESP8266 Chip ID: ");
  Serial.println(ESP.getChipId());
  Serial.print("Flash Chip ID: ");
  Serial.println(ESP.getFlashChipId());
  Serial.print("Flash available [KB]: ");
  Serial.println(ESP.getFlashChipSize()/1024);
  Serial.print("Flash Chip Size [KB]: ");
  Serial.println(ESP.getFlashChipRealSize()/1024);
  Serial.print("Flash frequency [MHz]: ");
  Serial.println(ESP.getFlashChipSpeed()/1000000);
  Serial.print("Free Heap [KB]: ");
  Serial.println(ESP.getFreeHeap()/1024);
  Serial.print("VCC [mV]: ");
  Serial.println(ESP.getVcc());
}

void loop() 
{
  Serial.print(".");
  count++;
  if (count == 25)
  {
    Serial.println();
    count=0;
  }
  digitalWrite(LED, HIGH);
  delay(980);
  digitalWrite(LED, LOW);
  delay(20);
}

LeduniaTest

NodeMCU

Interesse geweckt?

LoRaWAN für Maker und Entwickler

TTN

The Things Network (TTN) ist ein globales, offenes, freies und dezentrales Internet der Dinge (IoT). Indem das TTN eine Infrastruktur für das IoT bereitstellt, soll der Prozess der Innovationsförderung rund um das IoT unterstützt werden.

Das TTN ist ein Low Power Wide Area Network (LPWAN) auf Basis von LoRaWAN und Bluetooth LE. Der in der Zeitschrift DESIGN & ELEKTRONIK erschienene Beitrag verfolgt das Ziel, die Grundlagen zu LoRaWAN zu vermitteln und die durch das TTN gegebenen Möglichkeiten aufzuzeigen und zu nutzen.

DESIGN & ELEKTRONIK 06/2017, S. 8 – 13

C.H.I.P. als Sensor-Knoten

Wegen seiner Kompaktheit kann C.H.I.P.  dann sehr gut als Sensor-Knoten eingesetzt werden, wenn es nicht auf minimalen Stromverbrauch ankommt.

Für erste Tests habe ich mit dem Program chiplog.py  die CPU-Last, den verfügbaren Speicher und die Boardtemperatur abgefragt und über Thingspeak visualisiert. Ausserdem wird beim Überschreiten der Temperatur eine Push-Message versendet. Mit dem Programm stress habe ich die CPU-Last erhöht, um die Auswirkungen auf die Boardtemperatur zur verdeutlichen.

CPU_Load

Mem_avail

PMU_Temp

Um einen externen Sensor abfragen zu können, bedarf es nur noch weniger zusätzlicher Zeile Code, die für einen Temperatur- und Feuchtigkeitssensor SHT31 noch folgen.

Das Programm BatStatus.py zeigt den Status der Batterie in den ersten Minuten nach dem Anschliessen an den C.H.I.P.  Controller.

BatStatus

Die Programme chiplog.py und BatStatus.py sind auf Github abgelegt. Im Wiki sind Installationshinweise nach einem Flashen des Betriebssystems und dem erforderlichen Python-Setup aufgeführt.