Workshop "Intel IoT". Edison - das mächtige "Baby"

    In den vorangegangenen Teilen des "Workshops" haben wir Intel Galileo betrachtet, das der Hersteller als "for study" Board positioniert. Es gibt aber auch ein Gerät, das nicht nur zum Einarbeiten und Erstellen von Prototypen, sondern auch zum Einbetten in Endprodukte verwendet werden kann.

    Es geht um Intel Edison . Das Modul ist sehr leistungsstark (CPU - Dual-Core Intel Atom 500 MHz, MCU - Intel Quark 100 MHz), 4 GB Flash-Speicher, 1 GB RAM, kompakt (etwas mehr als eine SD-Karte), kann mit Batterien oder Akkus betrieben werden, ausgestattet mit drahtlosen Schnittstellen ( Wi-Fi und Bluetooth 4.0) und mehr.

    Aber lasst uns nicht weiterkommen.

    Unboxing und erste Bekanntschaft


    Das Kit, das ich studiert habe, ist in einer so schönen und kompakten Verpackung enthalten:


    Zusätzlich zum "Hauptmodul" Intel Edison enthält das Kit:

    • Erweiterungsplatine (in diesem Set - "Arduino-kompatibel" - gibt es noch kompaktere Platinen für das Prototyping);
    • vier Kunststoffgestelle mit Befestigungsschrauben;
    • zwei Muttern zum Anbringen von Intel Edison an der Erweiterungsplatine.


    Intel Edison ist sofort beeindruckend ... für seine Größe - schließlich ist in diesem kleinen Gerät (Größe 35,4 x 25,0 x 3,9 mm) eine ziemlich ernsthafte " Füllung " enthalten:

    • Dual-Core-Prozessor (Intel Atom, mit 500 MHz getaktet);
    • Mikrocontroller (Intel Quark, Taktfrequenz - 100 MHz);
    • RAM - 1 GB LPDDR3;
    • Flash - 4 GB (eMMC);
    • Wi-Fi-Modul - Broadcom 43340 802.11 a / b / g / n (Dualband - 2,4 und 5 GHz), eingebaute Antenne (in meinem Fall gibt es eine Option mit einer externen Antenne),
    • Bluetooth 4.0-Modul


    Fast alle Komponenten sind unter einem Metallgitter verborgen. Auf der „Vorderseite“ der Platine sind eine Keramikantenne für Funkmodule (unten links) und ein Anschluss (u.FL) zum Anschließen einer externen Antenne (etwas höher) sichtbar.

    Sie müssen zugeben, dass nur wenige Systeme mit einem solchen „Set“ aufwarten können. Und das alles in einer winzigen Leistung.

    Auf der Unterseite der Platine befindet sich eine weitere "abgeschirmte Box" mit Komponenten und einem Anschluss, über den Edison mit der "Außenwelt" kommuniziert:


    Die folgenden Schnittstellen werden über diesen Connector angezeigt:

    • SD-Karte - 1 Stück
    • UART - 2 Anschlüsse
    • I2C - 2 Reifen
    • SPI - 1 Bus mit einer Auswahl von 2 Chips (2 CS)
    • I2S - 1 Bus
    • I / O-Ports (GPIO) - 12 Stück (4 davon sind PWM-fähig)
    • USB 2.0 - 1 Anschluss (OTG)
    • Taktausgang - 32 kHz und 19,2 MHz

    Und dieser Steckverbinder überzeugt auch durch seine Größe - 70 Kontakte auf so kleinem Raum.

    Die Verwendung eines solchen Steckverbinders ist offensichtlich ein Kompromiss zwischen dem Wunsch, möglichst viele Schnittstellen bereitzustellen, und dem Wunsch, dies so kompakt wie möglich zu gestalten.

    Das Board, das in Produktion gegangen ist, sieht nicht so beeindruckend aus, wie Intel Edison es ursprünglich vorgestellt hat:


    Dennoch ist Edison ein sehr herausragendes Produkt.

    Zu Hause befürchte ich, dass ein Prototyp des Intel Edison-basierten Geräts sehr problematisch sein wird. Für das Prototyping ist das Board aus dem Lieferumfang jedoch perfekt:


    Zusätzlich zu Edison sind die „Pins“ zum Anschließen von Arduino-kompatiblen Abschirmungen (bezeichnet als „ANALOG IN“, „DIGITAL“, „POWER“), ein microSD-Kartensteckplatz, ein Netzteilanschluss und drei USB-Anschlüsse ( eins ist Typ A und zwei sind microUSB).

    Ich werde Ihnen gleich sagen, warum es so viele USB-Anschlüsse gibt, da Intel Edison selbst nur einen OTG-Port hat. Alles dreht sich um magische Blasendie Position des Mikroschalters SW1 (zwischen den Anschlüssen "full" und microUSB). Befindet sich der Umschalthebel näher am USB-Anschluss "full-sized", funktioniert dies (Host-Modus: Sie können beispielsweise ein externes USB-Laufwerk oder eine externe Tastatur anschließen). Befindet sich der Umschalter in einer anderen Position, funktioniert der microUSB-Anschluss (dies kann die Karte) B. eine Verbindung zu einem Computer herstellen, um die Firmware zu aktualisieren). Der letzte microUSB-Port (in der unteren rechten Ecke) wird zum Organisieren des Terminals verwendet.

    Es gibt auch 5 Knöpfe auf der Tafel:

    • FW und RM - zur Wiederherstellung der Leistung bei Beschädigung des "Images"
    • PWR - Energieverwaltung
    • SHLD RST - Arduino-Skizze neu laden, die in Intel Edison ausgeführt wird (hat keinen Einfluss auf den Zustand von Edison selbst)
    • RESET - Zurücksetzen.

    In diesem Dokument werden die Funktionen und Möglichkeiten der Verwendung von Schaltflächen ausführlicher beschrieben .

    Um die verschiedenen Betriebsmodi von Intel Edison zu steuern und zusätzliche Module anzuschließen, befinden sich die folgenden Pins, Anschlüsse und Jumper auf der Platine:

    • IOREF - zur Auswahl des Spannungspegels, mit dem die Karte arbeitet: 5 V oder 3,3 V;
    • AREF - Auswahl der Referenzspannung für den Betrieb des ADC (hängt auch von der Position des IOREF-Jumpers ab);
    • NTC - Pins zum Anschluss eines Thermistors (bei 10 kOhm) zur Kontrolle der Batterietemperatur beim Laden. Wenn diese Stifte geschlossen sind, ist die Temperaturregelung blockiert.
    • ICSP - führt die gleichen Funktionen aus wie der gleichnamige Anschluss auf der Arduino UNO-Karte.
    • BATT - Pins zum Anschluss eines Li-Ion- oder Li-Po-Akkus für die Entwicklung einer "Wearable" -Elektronik (Polarität nicht vertauschen!);
    • PWM - Jumper zur Konfiguration des Betriebs von PWM-Ausgängen.

    Lesen Sie hier mehr .

    Ich habe in meinem Haushalt einen 3.7V 1000mAh Li-Po Akku gefunden
    Und ich habe es natürlich an den entsprechenden Anschluss angeschlossen - die Platine wurde sofort „aufgewickelt“. Auf der Platine befindet sich ein „Ladegerät“ für solche Batterien. Dementsprechend können Sie solche Batterien beispielsweise als Notstromquelle verwenden.

    Weitere Informationen zu den Funktionen der Verwendung von Batterien finden Sie in diesem Dokument .

    Übrigens wurde Intel Edison inklusive designt für den einsatz in "tragbarer" elektronik, also mit verbrauch hier schon alles sehr gut. In der Spezifikation sind diese Eigenschaften angegeben (im Standby-Modus):

    • alle Funkmodule sind ausgeschaltet - 13 mW;
    • inklusive Bluetooth 4.0 - 21.5mW;
    • Wi-Fi aktiviert - 35mW;

    Natürlich wird im aktiven Modus nicht alles so gut, aber es hängt bereits davon ab, was Sie implementieren und wie Sie den Verbrauch des Systems optimieren.

    Auf der Unterseite der Platine befindet sich nichts Interessantes außer einer großen Anzahl von Kontaktfeldern (anscheinend, um eine direkte Verbindung zu Edison-Ports herstellen zu können):


    Um kompaktere Geräte zu prototypen, ist es besser, eine solche Karte zu verwenden


    Nachdem wir Edison und die Erweiterungskarte gründlich geprüft haben, können wir mit der Konfiguration fortfahren.

    Intel Edison Firmware


    Lassen Sie uns unser "Gerät" vorbereiten. Dazu müssen Sie Intel Edison vorsichtig auf der Erweiterungsplatine platzieren (praktische Anleitungen geben praktisch keine Chance für einen Fehler), damit der Anschluss verbunden ist. Sie müssen leicht auf Edison klicken, bis er klickt (Sie müssen vorsichtig und ohne unnötigen Aufwand auf den Anschlussbereich drücken). Jetzt können Sie die Bretter untereinander mit den kleinen Muttern aus der Lieferung befestigen.


    Für die Ersteinrichtung müssen Sie 2 USB-Kabel (in microUSB-Anschlüssen) anschließen. Der Schalter SW1 sollte auf microUSB stehen. Wir verbinden beide Kabel mit dem Computer (ich benutze wieder den Mac). Wenn alles richtig gemacht ist, erscheint eine EDISON-Diskette im System.

    Zunächst wird empfohlen, das vorhandene Image zu löschen, für das wir einfach alles von der angezeigten Festplatte löschen, einschließlich der versteckten Ordner, und zwar mit einem beliebigen verfügbaren Tool (ich habe das Terminal verwendet).

    Wir betrachten die Eigenschaften des EDISON-Laufwerks. Wenn es etwas anderes als FAT16 gibt - alles ist in Ordnung, wenn FAT16 - behandeln wir das so .


    Laufen ein wenig voraus
    Nach der Firmware wird ungefähr das folgende Bild angezeigt:

    root@edison:~# df -h
    Filesystem                Size      Used Available Use% Mounted on
    /dev/root               463.9M    365.9M     62.2M  85% /
    devtmpfs                479.9M         0    479.9M   0% /dev
    tmpfs                   480.2M         0    480.2M   0% /dev/shm
    tmpfs                   480.2M    508.0K    479.7M   0% /run
    tmpfs                   480.2M         0    480.2M   0% /sys/fs/cgroup
    systemd-1                 5.7M      5.3M    462.0K  92% /boot
    tmpfs                   480.2M      4.0K    480.2M   0% /tmp
    tmpfs                   480.2M         0    480.2M   0% /var/volatile
    /dev/mmcblk0p5         1003.0K     21.0K    911.0K   2% /factory
    /dev/mmcblk0p7            5.7M      5.3M    462.0K  92% /boot
    systemd-1                 2.2G      5.3M      2.2G   0% /home
    /dev/mmcblk0p10           2.2G      5.3M      2.2G   0% /home
    

    Laden Sie die neueste Version von Yocto herunter . Entpacken Sie das Archiv und kopieren Sie alle entstehenden Dateien und Ordner auf das EDISON-Laufwerk. Nachdem die Dateien überschrieben wurden, müssen Sie Edison flashen. Öffnen Sie dazu ein neues Terminalfenster (oder verwenden Sie die vorherigen Schritte).

    Geben Sie den Befehl ein:

    screen /dev/cu.usbserial
    

    Drücken Sie die Tabulatortaste (für die automatische Vervollständigung) und fügen Sie "115200 -L" hinzu.

    screen /dev/cu.usbserial-AJ035QHB 115200 -L
    

    Bestätigen Sie die Eingabe (Enter) - wir sehen einen "leeren Bildschirm", Enter erneut und wir erhalten ein Begrüßungsfenster:


    Geben Sie das Root-Login ein. Geben Sie das Passwort ein (falls Ihr System bereits konfiguriert wurde und dies ein „Update“ ist). Danach ist der einfachste Weg, die Firmware mit dem folgenden Befehl zu starten:

    reboot ota
    

    Achtung, hierdurch werden alle zuvor vorgenommenen Einstellungen gelöscht (z. B. WLAN usw.). Wenn Sie dies zum ersten Mal tun, verlieren Sie nichts. Der Update-Vorgang sieht ungefähr so ​​aus:

    Wenn alles in Ordnung ist, endet der Vorgang mit einer Einladung zur Anmeldung:

    Alle Einstellungen werden zurückgesetzt - root login (kein Passwort).

    Linux-Version
    root@edison:~# cat /proc/version
    Linux version 3.10.17-poky-edison+ (sys_dswci@tlsndgbuild004) (gcc version 4.8.2 (GCC) ) #1 SMP PREEMPT Fri Jan 30 14:16:35 CET 2015
    

    Ersteinrichtung


    Führen Sie zum Konfigurieren von Intel Edison den folgenden Befehl aus:

    configure_edison --setup
    

    Dieser Befehl startet den Installationsassistenten, in dem nacheinander festgelegt werden soll:

    • Administrator-Passwort
    • Gerätename
    Nach diesen Schritten schlägt der Assistent vor, eine Verbindung zu einem Wi-Fi-Netzwerk herzustellen. Der Netzwerkscanvorgang dauert 10 Sekunden. Anschließend wird auf dem Terminalbildschirm Folgendes angezeigt:
    Als Nächstes müssen Sie die Nummer des gewünschten Netzwerks auswählen (oder eine versteckte SSID eingeben) und das Kennwort eingeben, um eine Verbindung zum Netzwerk herzustellen. Wenn alles richtig gemacht wurde, wird die empfangene IP-Adresse im Terminal angezeigt.

    Fertig Jetzt können Sie Edison sicher vom Computer trennen und mit einer Stromversorgung (7-15 V) verbinden. Das Gerät startet automatisch und stellt eine Verbindung zum ausgewählten drahtlosen Netzwerk her.

    Jetzt kann Intel Edison über SSH gesteuert werden (IP-Adresse, Login / Passwort - alles ist bereits in den vorherigen Schritten definiert).
    Sie können die Einstellungen, die wir bereits in einem der vorherigen Teile des Workshops vorgenommen haben, wiederholen .

    Darüber hinaus können Sie eine Speicherkarte (microSD) anschließen und nach eigenem Ermessen verwenden.

    Links: Intel Galileo Gen2, rechts: Intel Edison

    Blinkende LED mit Arduino IDE


    Ab dem Moment des Schreibens der vorherigen Teile des "Workshops" ist die Version der Arduino IDE leicht auf 1.6.0 "gewachsen" . Im Allgemeinen unterscheidet sich nichts grundlegend von dem im Beispiel mit Intel Galileo Gen2 - Sie müssen nur die richtige Karte (Edison) und den richtigen Port auswählen (für Mac ist dies ein Port mit dem Namen /dev/cu.usbmodemxxxx).

    Wenn alles richtig gemacht wurde, blinkt auf der Platine (nach dem Laden des Blink-Beispiels) die DS2-LED. Jetzt können Sie weitere Funktionen von Intel Edison kennenlernen. Um dies schnell und einfach zu machen, können Sie das Grove Starter Kit Plus von Intel IoT Edition erwerben , das die beliebtesten Elemente enthält: verschiedene Sensoren, ein Display usw.

    Der Vorteil dieses Kits besteht darin, dass Sie sehr schnell und einfach verschiedene Geräteprototypen erstellen können, indem Sie einfach die im Projekt benötigten Geräte an den Basisschild anschließen.

    Ich habe schon früher ein ähnliches Set benutzt
    So erstellen Sie eine Wetterstation . Möglicherweise haben Sie bereits einen solchen "Wal" (oder eine ähnliche Bedeutung) zur Verfügung (die Wahrscheinlichkeit ist sehr hoch, wenn Sie den Arduino bereits gestartet haben / beherrschen). Wie auch immer, all diese "Schilde", die mit dem Arduino verwendet werden (mit einigen Einschränkungen), können mit Intel Edison und dem "großen" Board verwendet werden.

    Und noch einfacher ist es, das Vorhandensein aller notwendigen Beispiele zu untersuchen .
    Wie bereits erwähnt, ist der Übergang von Intel Galileo zu Intel Edison sehr einfach: Alles, was für Galileo getan wurde, wird einfach auf das "ältere" Gerät übertragen.

    Was weiter?


    Sie können eine beliebige Entwicklungsmethode auswählen. Die Wahl wird angeboten:


    Seit der Veröffentlichung der vorherigen Teile des "Workshops" wurde übrigens auch das Intel IoT Developer Kit aktualisiert (die aktuelle Version ist v1.0). Während der Entwicklung wurden zahlreiche Kommentare und Vorschläge berücksichtigt (einschließlich derer, die in unserem "Workshop" behandelt wurden) - es wurde einfacher, Projekte in Eclipse zu erstellen, noch mehr Beispiele, mehr Dokumentation (einige sind bereits in russischer Sprache) .

    Schlussfolgerungen


    Intel Galileo und Intel Edison sind vielversprechende Geräte, die nicht nur in die Welt der Geräteentwicklung auf Mikrocontrollern eintauchen können, sondern auch die ernsthaften Fähigkeiten von Linux-Computern (und im Fall von Edison auch recht leistungsfähige SoC-Geräte) nutzen.

    Das Zusammenspiel dieser (für sich) reichhaltigen Komponenten erweitert die Verwendungsmöglichkeiten erheblich: Beispielsweise können Sie auf der Linux-Komponente einen Webserver mit einer Datenbank einrichten, um eine komfortable Webschnittstelle für die Steuerung beliebiger Geräte und die Komponente „Iron“ (Arduino) zu organisieren - setzt dieses Management um.

    Weitere Geräte sind gut und anders.


    " Der erste Teil des" Workshops ": Galileo Gen2 - Die erste Bekanntschaft
    " Der zweite Teil des "Workshops": Galileo Gen2 - Linux & Arduino
    " Der dritte Teil des" Workshops ": Der Workshop " Intel IoT ". Galileo Gen2 - Eclipse & libmraa + UPM

    Nun, die neuesten Nachrichten:

    » Intel Edison offiziell in Russland: Vorbestellung und Wettbewerb von Projekten

    Vielen Dank für Ihre Aufmerksamkeit!

    Jetzt auch beliebt: