Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
techniken:tensorflownodebluetooth [2021/01/29 17:40] d.golovko [3. Lokalen Server einrichten] |
techniken:tensorflownodebluetooth [2021/02/12 15:44] (aktuell) SabidJFejzula |
||
---|---|---|---|
Zeile 44: | Zeile 44: | ||
==3.1. Node.js-Installation== | ==3.1. Node.js-Installation== | ||
+ | [[techniken::tensorflownodebluetooth::windows-lokal#Node.js auf Windows: Posenet mit lokal gehosteter p5.js Instanz]] | ||
Wir konnten schon über den p5.js-editor die Ergebnisse von einem TensorFlow-Modell bekommen, warum brauchen wir den Server? Grund ist, wir wollen auf den //seriellen Port// zugreifen, um Daten an den Arduino zu schicken, und das geht nicht von der Client-Seite (Browser). In unserem Fall wird der Server auf dem gleichen Rechner laufen wie der Client (Browser), deswegen sagen wir, dass wir einen //lokalen// Server einrichten. Eine Internetverbindung brauchen wir trotzdem, da unsere Datei ''index.html'' Links zu den Bibliotheken //p5.js// und //ml5.js// beinhaltet. | Wir konnten schon über den p5.js-editor die Ergebnisse von einem TensorFlow-Modell bekommen, warum brauchen wir den Server? Grund ist, wir wollen auf den //seriellen Port// zugreifen, um Daten an den Arduino zu schicken, und das geht nicht von der Client-Seite (Browser). In unserem Fall wird der Server auf dem gleichen Rechner laufen wie der Client (Browser), deswegen sagen wir, dass wir einen //lokalen// Server einrichten. Eine Internetverbindung brauchen wir trotzdem, da unsere Datei ''index.html'' Links zu den Bibliotheken //p5.js// und //ml5.js// beinhaltet. | ||
Zeile 51: | Zeile 52: | ||
Es gibt viele Möglichkeiten, einen Server zu programmieren, z.B. mit Java, PHP oder Python. Wir werden einen [[https://de.wikipedia.org/wiki/Node.js|Node.js]]-Server einrichten, u.A. weil Node.js ebenso auf JavaScript geschrieben ist. | Es gibt viele Möglichkeiten, einen Server zu programmieren, z.B. mit Java, PHP oder Python. Wir werden einen [[https://de.wikipedia.org/wiki/Node.js|Node.js]]-Server einrichten, u.A. weil Node.js ebenso auf JavaScript geschrieben ist. | ||
- | Node.js verfügt über den Paket-Manager ''npm'', über welchen man zusätzliche Node-Module installiert. [[https://nodejs.org/en/download/|Ladet Node.js und npm herunter]] und installiert sie. Anschließend könnt ihr mit den Befehlen ''node –v'' und ''npm –v'' auf dem Terminal (bzw. in der Anwendung **cmd**) überprüfen, ob alles geklappt hat. (Die Node/npm-Version wird angezeigt => geklappt.) | + | Node.js verfügt über den Paket-Manager ''npm'', über welchen man zusätzliche Node-Module installiert. [[https://nodejs.org/en/download/|Ladet Node.js und npm herunter]] und installiert sie. Anschließend könnt ihr mit den Befehlen ''node %%--%%v'' und ''npm %%--%%v'' auf dem Terminal (bzw. in der Anwendung **cmd**) überprüfen, ob alles geklappt hat. (Die Node/npm-Version wird angezeigt => geklappt.) |
==3.2. Hallo Welt== | ==3.2. Hallo Welt== | ||
- | Erstellt einen Ordner (ich nenne ihn ''NodeOrdner'' -- andere Namen möglich), wo ihr Dateien für euren Server ablegen werdet. Es hilft, wenn dieser Ordner auf dem Laufwerk ist, wo ihr Anwendungen ausführen dürft. Wechselt über den ''cd''-Terminal-Befehl zu diesem Ordner. Bei Bedarf sucht online, wie man mit ''cd'' zwischen Ordnern wechseln kann. Wenn ihr im richtigen Ordner seid, führt diesen Befehl aus -- er initialisiert euer Projekt:\\ | + | Erstellt einen Ordner (ich nenne ihn ''NodeOrdner'' -- andere Namen möglich), wo ihr Dateien für euren Server ablegen werdet. Es hilft, wenn dieser Ordner auf dem Laufwerk ist, wo ihr Anwendungen ausführen dürft. Wechselt über den ''cd''-Terminal-Befehl zu diesem Ordner. (Bei Bedarf sucht online, wie man mit ''cd'' zwischen Ordnern wechseln kann.) Wenn ihr im richtigen Ordner seid, führt diesen Befehl aus -- er initialisiert euer Projekt:\\ |
<code> | <code> | ||
npm init | npm init | ||
</code> | </code> | ||
- | Bestätigt mit der Enter-Taste (mehrfach) die Standard-Einstellungen. Die Datei ''package.json'' wird angelegt, wo diese Einstellungen gespeichert werden. | + | Bestätigt mit der Enter-Taste (mehrfach) die Standard-Einstellungen. Die Datei ''package.json'' wird automatisch angelegt, wo diese Einstellungen gespeichert sind. |
Installiert auch die Node-Module, die wir später brauchen werden: | Installiert auch die Node-Module, die wir später brauchen werden: | ||
- | * //express// (minimalistische Node-Variante): ''npm install express --save'' | + | * //express// (minimalistische Node-Variante): ''npm install express %%--%%save'' |
- | * //body-parser// (analysiert HTTP-Requests): ''npm install body-parser --save'' | + | * //body-parser// (analysiert HTTP-Requests): ''npm install body-parser %%--%%save'' |
- | * //serialport// (ermöglicht den Zugriff auf serielle Ports): ''npm install serialport --save'' | + | * //serialport// (ermöglicht den Zugriff auf serielle Ports): ''npm install serialport %%--%%save'' |
Erstellt im Ordner die Datei ''server.js'' (andere Namen möglich) mit dem folgenden Inhalt: | Erstellt im Ordner die Datei ''server.js'' (andere Namen möglich) mit dem folgenden Inhalt: | ||
Zeile 170: | Zeile 171: | ||
====6. Daten über den seriellen Port vom Server zum HC-05 schicken==== | ====6. Daten über den seriellen Port vom Server zum HC-05 schicken==== | ||
- | + | ||
- | Wenn wir den seriellen Port erstellt haben und seinen Namen kennen, können wir Daten vom Server verschicken: | + | Wenn wir den seriellen Port erstellt haben und seinen Namen kennen, können wir Daten vom Server verschicken (dieser Code gehört in die ''server.js''-Datei): |
<hidden Code: einen String über den seriellen Port schicken> | <hidden Code: einen String über den seriellen Port schicken> |