CN1 Quickstart für Windows

Netzwerk

Das CN1 Board wird über Ethernet mit mit Windows Rechner verbunden. Das ist die Verbindung über die das Board mit anderen Geräten kommuniziert. Über diese Verbindung werden die Programme mit ZeroBrane Studio entwickelt und Status Informationen übertragen.

Zeroconf

Damit die CN1 am Netzwerk erreichbar ist muss sie eine IP Adresse besitzen. Die meisten Windows Rechner beschaffen sich eine IP Adresse per DHCP oder haben eine feste IP Adresse. DHCP hat den Nachteil das immer ein DHCP Server verfügbar sein muss. Ein Ausfall des DHCP Servers würde alle CN Boards bei einem Neustart ohne IP Adresse lassen, womit alle Netzwerkkommunikation unmöglich würde. Eine feste IP Adresse muss verwaltet werden und jedem Board händisch zugeordnet werden. Das hat sich als wenig praktikabel herausgestellt. Aufgrund dieser Problematik wurde bereites 1999 mit der Arbeit am Zeroconf Protokoll begonnen. Diese Protokoll vergibt jedem Board automatisch eine von rund 65000 IP Adressen per Zufall. Man kann sich mit sehr großer Warscheinlichkeit darauf verlassen das es immer wieder die selbe Adresse ist. Das Zeroconf Protokoll wird zum Beispiel von Apple verwendet und heißt dort Bonjour (früher Rendezous). Weiter Infos: Zeroconf Beschreibung

Zeroconf auf dem Windows konfigurieren

Für Windows ist keine spezielle Software nötig um Zerconf verwenden zu können. Tatsächlich verschafft sich Windows eine Zeroconf Adresse wenn es auf DHCP configuriert ist und der DHCP Server ausfällt.

Eine Zeroconf Adresse liegt immer im Bereich von 169.255.1.0 bis 169.255.254.255. Diese Adresse muss über eine echte Zufallszahl erzeugt werden. Das übernimmt der Crypto-Chip auf der CN1. Auch der Windows Rechner benötig eine Adresse aus diesm Bereich. Suchen sie sich eine beliebig Adresse aus (das ist zufällig genug), ich verwende meist 169.254.20.1.

Bei Windows kann man für jeden Netwerkadapter merere IP Adressen einstellen. Aber nicht wenn DHCP aktiviert ist! Für das Problem gibt es nun zwei Lösungen:

  1. DHCP deaktivieren

Man kann DHCP dekativieren und dem Rechner eine feste IP Adresse zuweisen. Informationen wie das durchgeführen ist finden man im Netz in großer Zahl. Auch wie man dem Rechner eine weiter Adresse zuweist findet man dort.

2. Zweiter Netzwerkadapter

Entweder baut man eine weiter Netwerkarte in den Rechner ein oder man benutzt einen USP zu Ethernet Adaper. Auf diesen stellt man dann die feste Zerconf Adresse ein. Möglichst immer eine Switch zwischen derm Windows Rechner und der CN1 einfügen. Man kann zwar beide Geräte direkt verbinden, da aber die Link Erkennung von Windows relativ langsam ist, kommt es immer zu unerwünschten Pausen wenn die CN1 neu gestartet wird.

Wenn jetzt der Windows Rechner sein Zerconf Adresse hat sollte man sie zur Sicherheit pingen:

Hier habe ich meine eigene Zerconf Adresse geprüft.

Benutzen sie bitte die von Ihnen gewählte Adresse!

 

Syslog

Das CN1 Board gibt Informationen über das Syslog Protokoll ins Netwerk. Wenn auf Ihrem Rechner bereits ein Syslog Sever aktiv ist können Sie die nächste Beschreibung überspringen.

Sylog Server gibt es Netzt reichlich. Kostenfrei und kostenpflichtig. Getestet habe ich Kiwi Syslog Server und Visual Syslog Server for Windows. Eine von diesen oder eine beliebigen Anderen herunterladen, installieren und starten. Eventuell muss noch die Firewall von Windows konfiguriert werden. Meist wird das von den Syslog Servern bereits erledigt. Nachfolgend verwende ich den Zweiten.

Erster Start der CN1

Nachdem die CN1 mit dem Netzwerk verbunden wurde, keine SD-Card eingelegt ist, der Syslog Sverer läuft und Zugriff auf das Netwerk hat kann man das CN1 Board mit 5V Spannung versorgen. USB Netzteile eignen sich sehr gut dafür. Den Laptop oder PC sollte man dafür nicht verwenden. Die Gefahr einer beschädigung durch Kurzschluss ist zu hoch!

Die grüne Power LED geht an. Glichzeitig beginnt die blaue Status LED zu blinken:

Phase 1: Board startet und wartete auf den Netzwerklink: Morst den Buchstaben L

Phase 2: Zerconf Adresse wird ermittelt: Morst den Buchstaben Z

Phase 3: Starte Programm vom Flashspeicher (Morst den Buchstaben F) oder von der SD-Karte (Morst den Buchstaben S)

Phase4: Dauerlicht: Kein Programm vorhanden, das ist jetzt auch korrekt.

Fehlt die Phase 2 und 3 kann die CN1 keine Verbindung zum Netzwerk aufnehemen. Dann sind meist auch die LEDs am Ethernet Stecker aus. Bitte Kabel und Netzwerk überprüfen!

Wenn alles erfolgreich war sollte es auf der Syslog Konsole so aussehen:

In der ersten (blauen) Zeile kann man die Firmware Version (Stamp_160k_V3.0a…), die IP Adresse (192.255.103.199) ablesen. Die IP wird bei Ihnen anders sein.

Wichtig ist das die Firmware mindestens V3.0a ist!

In der zweiten Zeile erfolgt die erwartet Fehlermeldung das kein Laufwerk gefunden wurde.

Syslog kommuniziert normalerweise auf Port Nummer 514. Die CN1 wird einige wenige Meldungen auf diesem Port aussenden. Das sind die Meldungen über den Start des Boards oder Fehlermedlungen.

Weit mehr wird über Port 51514 gesendet. Wenn man jetzt den Syslog Server auf diesen Port einstellt und die CN1 neu startet (kleine Reset Taste neben der blauen LED) erscheint folgendes in der Syslog Konsole:

Hier kann man sehen das die CN1 versucht hatte sich per TFTP mit Software zu versorgen. Dazu später mehr.

ZeroBrane Studio

Nun ist alles bereit die ZeroBrane Studio Entwicklungsumgbung (IDE) zu installieren. Bitte hier herunterladen und wenn möglich Paul eine Spende zukommen lassen!

Die IDE starten und ein neues Lua File mit File->New anlegen und mit einem Programm füllen (siehe unten). Unter dem Name startup.lua abspeichern. Der Name muss genau so heißen! Der Verzeichnisname ist unwichtig nur muss das Project Directory auf auf das Verzeichnis eingestellt werden wo startup.lua sich befindet. Am einfachsten die Seite mit dem startup.lua anwählen und aus dem Menü Project->Project Directory->Set From Current File wählen

Dann unter Project->Start Debugger Server den Debugger starten. Das Fenster sollte dann etwa so aussehen:

CN1 Remote Debugging

Jetzt muss nur noch die CN1 darüber informiert werden wo sich der ZeroBrane debug Server befindet. Dazu muss sie die Zeroconf IP Adresse des Windows Rechner kennen.

Man nimmt ein microSD Karte und formtiert sie mit FAT32. Dort legt man ein File config.lua an mit diesem Inhalt:

Natürlich verwenden Sie die Zeroconf Adresse Ihres Windows Rechners. Zum erstellen des File benutze ich ZeroBrane Studio.

SD-Card abmelden wenn nötig, vorsichtig in die CN1 einsetzten und die CN1 durch drücken des Reset Tasters neu starten.

Auf der Syslog Konsole sollte jetzt dieses erscheinen (ich habe den Font geändert um die Ausgabe besser lesen zu können):

In der letzten Zeile kann man sehen das der Debugger jetzt aktiv ist. Im ZeroBrane Studio sollte es jetzt so aussehen:

Wie man sehen kann hat der Debugger auf der ersten Zeile des Programm gestoppt. Im Output window ist zu sehen das die Debugger session gestarte wurde. Mit dem Button Step over Shift-F10 springt man zu der nächsten Programmzeile. Im Syslog erscheint das Hallo 1.

Leider intepretiert Visual Syslog Server das erste Wort als Host oder Tag was die Ausgabe auf verschidene Spalten verteile. Entwerder man schreibt immer ein Leerzeichen an den Anfang des print Befehls oder man definiert die print Funktion neu:

Kiwi Syslog Server hat diese Verhalten nicht.

Häufige Fehler

Falls es doch nicht so funktioniert wie oben beschrieben sollte man folgende Punkte prüfen:

  • Window Firewall: Sind die ZeroBrane Studio und der Syslog Server zugelassen?
  • Virenscanner: Wird hier etwas blockiert?
  • IP Adressen korrekt? Tippfehler? Adressen mit ping prüfen.
  • ZeroBrane Debugger Server gestartet?
  • ZeroBrane mehrmals gstartet?
  • Ist das Project Directory auf auf das Verzeichnis eingestellt wo startup.lua sich befindet?
No votes yet.
Please wait...