Showing Posts From

Node js

MagicMirror 7.5 eInk/ePaper Bilderrahmen mit einem Raspberry Pi Zero W #1

MagicMirror 7.5 eInk/ePaper Bilderrahmen mit einem Raspberry Pi Zero W #1

Mit einem 7.5 eInk Display von Waveshare und einem Raspberry Pi Zero W, kannst du einen sehr stromsparenden Info-Bilderrahmen erstellen. Dank der MagicMirror Software, stehen dir sehr viele Erweiterungsmodule zur verfügung. Eine Liste aller MagicMirror Module findest du hier.Updates:16.03.2020: benötigten Python Programme aktualisiert und MagicMirror installation angepasstInhalt Voraussetzungen Benötigte Teile:Raspberry Pi Zero W (Amazon) 7.5 Waveshare e-Paper Display (Amazon, Aliexpress) Micro-SD Karte, Micro USB-NetzteilRaspberry Pi mit Raspbian installiert. Die Lite Version von Raspbian ist ausreichend. So sparst du Speicherplatz. Wie du Raspbian auf deine Micro-SD Karte installierst, wird in diesem Artikel ausführlich beschrieben.Abhängigkeiten installierenAktiviere die SPI Schnittstelle am Raspberry Pi. sudo raspi-config ... im Menü unter Interfacing Options -> SPI -> Yes Aktualisiere die Paketlisten und installiere den Chrome Browser. sudo apt-get update && sudo apt-get install -y git chromium-browserInstalliere die benötigten Python Programme. sudo apt-get install -y python-dev python-smbus python-rpi.gpio python-serial python-spidev python-pil fonts-freefont-ttfInstalliere Node.js und NPM. In diesem Artikel wird es ausführlich erklärt.Installiere den Node.js Process-Manager PM2 mit NPM global. sudo npm install -g pm2 Das der PM2 Process-Manager nach dem booten automatisch startet, führe folgenden Befehl aus. Dieser gibt dir einen neuen Befehl aus. Kopiere diesen, füge ihn in ein und bestätige den Befehl mit Enter. pm2 startup && pm2 saveMagic Mirror installieren Navigiere in dein Heimverzeichnis und kopiere das MagicMirror Github Repository. cd ~/ && git clone https://github.com/MichMich/MagicMirror Navigiere in den neuen Ordner... cd MagicMirror/ ... und installiere die benötigten Node.js Module mit NPM. npm install -arch=armv7l npm install allein funktioniert nicht, da Electron einen Fehler verursacht. Wir benötigen Electron nicht, aber die Installation wird nicht vollständig beendet.rpi-magicmirror-eink Script installieren Navigiere in dein Heimverzeichnis und kopiere das Github Repository. cd ~/ && git clone https://github.com/BenRoe/rpi-magicmirror-eink.git Navigiere in den neuen Ordner... cd rpi-magicmirror-eink ... und installiere die benötigten Node.js Module mit NPM. npm install Kopiere die benötigten CSS und Schrift Dateien in den MagicMirror css Ordner cp -a magicmirror-files/css/. ~/MagicMirror/css Kopiere die vorgefertigte MagicMirror config.js Datei in den MagicMirror config Ordner cp magicmirror-files/config.js ~/MagicMirror/config/Navigiere wieder in den MagicMirror Ordner... cd ~/MagicMirror... und start den MagicMirror 2 im serveronly Modus mit PM2. pm2 start node serveronlyServeronly Modus bedeutet, dass die MagicMirror Seite nicht automatisch auf einem angeschlossenem Bildschirm angezeigt wird. Sondern man muss die Seite über den Browser aufrufen. Das Script lädt die MagicMirror Seite eh extra und es spart Systemressourcen. Navigiere wieder in den rpi-magicmirror-eink Ordner... cd ~/rpi-magicmirror-eink... und starte das rpi-magicmirror-eink Script mit PM2. pm2 start index.js --name "eink-update"Du musst die Änderungen noch speichern, damit sie nach einem Neustart erhalten bleiben. pm2 saveQuellen Cherry bitmap font by marin converted to ttf with Bits'N'Picas The project uses the Original Library written by Waveshare. It can be downloaded here.

Guide to Installing Node.js on a Raspberry Pi

Guide to Installing Node.js on a Raspberry Pi

Node.js is a open source platform to create network applications using JavaScript. The applications are executed on the server and not as usual on the client in the browser. Integrated modules, such as the HTTP-module, enable the realisation of web servers. Additional modules can be simply installed using the supplied package manager npm. Update 04.09.2016: - Added further, alternative guideContent Install Node.js - Option #1 (Raspberry Pi B+ and older)As a first step you need to download the ARM package that is optimised for Node.js.wget http://node-arm.herokuapp.com/node_latest_armhf.debNode.js can now be installed usingsudo dpkg -i node_latest_armhf.debNode.js and the package manager npm are now installed. You can check the installed version unsing node -v. Install Node.js - Option #2 (Raspberry Pi 2/3 and newer)Add the Node.js source to your package list.curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -Node.js can now be installed usingsudo apt-get install -y nodejs You can check the installed version unsing nodejs -v.Test Node.js with a "Hello World" applicationCreate a JavaScript file usingsudo nano helloWorld.js and add the following code:var http = require('http'); http.createServer(function (request,response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World!\n'); }).listen(8000) console.log('Web Server running at http://127.0.0.1:8000');Execute the script with:node helloWorld.jsOpen the browser and go to the address.http://IP-Adresse-des-Raspberry:8000/

  • 09 Sep, 2016
  • 2 Min. Lesezeit

Node.js App mit Init Script beim Neustart/Reboot automatisch starten - linux raspberry pi daemons

Du möchtest ein Node.js Script, oder einen CMD Befehl bei Hochfahren/Neustart/Reboot automatisch ausführen, dann bist du hier genau richtig. Nach dem Laden des Linux-Kernels wird als erstes Programm überhaupt das Programm init gestartet. Dieses Programm startet alle weiteren Programme. Welche das sind, wird über die Skripte im Verzeichnis /etc/init.d/ bestimmt. Der Vorteil gegenüber der /etc/init.d/ Variante ist, das du das Script über die Kommandozeile Neustarten, Stoppen und Starten kannst. Erstell ein Init Script für "dasher" (dasher ist nur ein Beispielname, du kannst ihn nach belieben verändern). sudo nano /etc/init.d/dasherKopiere den Inhalt dieses Init Script Templates. Mehr Informationen über diese Template findest du hier.Füge hinter Provides: den Scriptnamen ein und pass diese 3 Variablen (dir, cmd und user) am Anfang des Script an. Bei cmd kannst du jeden beliebigen Befehl eintragen den du auch im Terminal ausführen kannst. So kannst du beim Neustart einen beliebigen Befehlt ausführen lassen. #!/bin/sh ### BEGIN INIT INFO # Provides: dasher # Required-Start: $network $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFOdir="/home/pi/dasher" cmd="node app.js" user="root" … beende den Nano Texteditor mit ctrl+x am Mac, oder strg+x bei Windows und speichere die Änderung mit y.Ändere die Rechte des Init Script, um es ausführbar zu machen. sudo chmod 755 /etc/init.d/dasherAktiviere den dasher Dienst/Service (ersetze den Namen "dasher" mit dem Namen den du in Schritt 3 hinter Provides: geschrieben hast) sudo update-rc.d dasher defaultsBeim nächsten Neustart/Reboot wird das Script mit ausgeführt. Um es manuell zu starten kannst du folgenden Befehl verwenden. sudo /etc/init.d/dasher start Script stoppen sudo /etc/init.d/dasher stop Script neustarten sudo /etc/init.d/dasher restart Anstatt sudo /etc/init.d/dasher restart kannst du auch sudo service dasher restart schreiben.Um zu prüfen ob das Script läuft gib diesen Befehl ein/etc/init.d/dasher statusDie Logdateien kannst du dir wie folgt live ausgeben lassen.tail -f /var/log/dasher.log tail -f /var/log/dasher.err

IFTTT Aktionen mit Amazon Dash Button auslösen - raspberry pi linux
  • 04 Sep, 2016
  • 4 Min. Lesezeit

IFTTT Aktionen mit Amazon Dash Button auslösen - raspberry pi linux

Amazon hat letzte Woche endlich den Amazon Dash Button in Deutschland released. Was ist der Dash Button? Ein kleiner Knopf (ca. 6cm) der mit deinem Wlan verbunden wird. Per Knopfdruck kannst du dann ein bestimmtes Produkt über Amazon bestellen. Das hört sich erstmal nicht sehr spannend bzw. nützlich an. Wie wäre es, wenn du mit dem Knopf eine beliebige IFTTT Aktion triggern kannst. Wer IFTTT nicht kennt. Dort kannst du ein Auslöser(trigger) und eine Aufgabe festlegen, die dann ausgeführt werden soll. Ein Beispiel wäre, speichere alle Facebook-Bilder auf denen du getagt wurdest in deiner Dropbox. Update: 04.11.2016 Ifttt hat seinen Service komplett umgestellt. Recipe heißen jetzt Applets und Benutzer können zur Zeit keine eigenen erstellen. Was sehr sehr schade ist. :( Falls es wieder möglich ist eigene Maker Recipe/Applets zu erstellen, werde ich die Anleitung aktualisieren. In diesem Beitrag zeige ich dir, wie du den Dash Button mit deinem Wifi einrichtest ohne das ein Produkt bestellt wird und Installieren das Programm Dasher, das dann eine IFTTT Aktion triggert. Die Anleitung funktioniert mit einem Raspberry Pi, oder auch einem Debian/Ubuntu Linux Rechner. Wichtig ist noch, dass es bis jetzt zwei verschiedene Modelle des Amazon Dash Button gibt (Modelnr. neu JK29LP, alt JK76PL). Diese Anleitung funktioniert nur mit dem neuen Model. Wenn ihr jetzt ein Dash Button bei Amazon bestellt ist es die neue Version. Der Dash Button muss mit deinem Wifi verbunden werden. Dazu benötigst du ein Smartphone mit Bluetooth. Schalte Bluetooth ein und öffne die normale Amazon App. Hier ein kurzes Video von diesem Ablauf. Wichtig ist am Ende kein Produkt auszuwählen, da du sonst mit jedem Knopfdruck das Produkt bestellst.Jetzt kommen wir zum Teil der im Terminal ausgeführt wird. Dazu musst du eine SSH Verbindung zum Raspberry Pi/Linux Rechner herstellen.Als erstes werden die Paketlisten neu eingelesen und installieren die benötigten Programme git & libpcap-dev. sudo apt-get update && sudo apt-get install git libpcap-devDu benötigst des weiteren die aktuelle Version von Node.js (v6.5.0). Ausführliche Anleitung Node.js Quelle zu deinen Paketlisten hinzufügen. curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - Jetzt kannst du Node.js installieren. sudo apt-get install -y nodejsAls nächstes kannst du das Node.js Programm "Dasher" herunterladen und installieren. Navigiere mit cd ~/ in dein Home-Verzeichnis und lade/clone Dasher von Github. git clone https://github.com/maddox/dasher.git Navigiere in das Dasher Verzeichnis cd dasher Jetzt müssen noch die von Dasher benötigten Programme/Dependencies installiert werden. npm installDasher benötigt die MAC Address von deinem Dash Button. Diese kannst du einfach herausfinden. Log dich in dein Router ein und schau unter verbundene Geräte. Du kannst auch das mitgelieferte Programm "find_button" verwenden. script/find_button Drück nach dem Start von "find_button" den Dash Button. Es sollte dir die MAC-Adresse angezeigt werden. Kopiere dir die MAC-Adresse und beende das Programm mit ctrl+c am Mac, oder strg+c bei Windows.Jetzt muss du noch Dasher konfigurieren. Erstelle eine config.json Datei im Ordner config. nano config/config.json Kopiere folgenden Code hinein und ersetze die MAC-Adresse und dein IFTTT Maker Chanel Key.{"buttons":[ { "name": "Dash1", "address": "MAC-Adresse-Deines-Dash-Button", "url": "https://maker.ifttt.com/trigger/dashbutton/with/key/Dein-Ifttt-Maker-Key", "method": "POST", "json": true, "body": {"value1": "any value", "value2": "another value"} } ]}Erstelle eine IFTTT Recipe mit IFTTT Maker Chanel als Trigger. Die Aktion kannst du frei wählen. Ich verwende im Beispiel Pushbullet als Aktion. Du musst darauf achten, dass bei Schritt 3 als "Event Name" dashbutton eingetragen wird. Das hast du mit der erstellten config Datei festgelegt "url": "https://maker.ifttt.com/trigger/dashbutton/with/key/dhROi2qDmIo693c$. Wenn du weitere Dash Buttons mit IFTTT verbinden willst, müssen sich die url's unterscheiden (dashbutton1, dashbutton2, …).Starte Dasher und drück den Knopf um zu testen ob alles funktioniert. Wenn alles funktioniert, sollte im Terminal "Dash1 pressed" stehen und deine zuvor erstellte IFTTT Aktion ausgeführt werden. In meinem Fall eine Pushnachricht auf mein iPhone über Pushbullet. sudo npm run start Mit ctrl+c am Mac, oder strg+c bei Windows kannst du das Programm beenden. Wenn man den Terminal schließt, wird auch Dasher beendet. Im nächsten Artikel werde ich beschreiben, wie das Dasher Programm beim Start mit ausgeführt wird und so immer im Hintergrund mit läuft (autostart Node.js Script). Ich bin gespannt welche Aufgaben sich damit umsetzen lassen. Schreibt euer IFTTT Recipe in die Kommentare.

Node.js auf dem Raspberry Pi installieren

Node.js auf dem Raspberry Pi installieren

Node.js ist eine Open-Source-Plattform, zum erstellen von Netzwerkanwendungen die in JavaScript geschrieben werden. Die Anwendungen werden Server-seitig ausgeführt und nicht wie "normal" Client-seitig im Browser. Integrierte Module wie z.B. das HTTP-Modul, ermöglichen die Realisierung von Webserver. Weitere Module können einfach mit dem Paketmanager npm installiert werden. Update 16.03.2020: - Variante 1 für ARM6 Chip aktualisiert Update 04.09.2016: - weitere Variante hinzugefügtInhalt Node.js installieren Variante #1 (ARM6: Raspberry Pi B+, Raspberry Pi Zero und älter)Prüfe mit dem Befehl uname -m ob dein Raspberry Pi einen ARM6 Chip hat. Der Befehl sollt etwas wie armv6l ausgeben.Lade dir das ARM6 optimierte Node.js installations Paket herunter. Node.js v8.x:wget https://nodejs.org/dist/latest-v8.x/node-v8.17.0-linux-armv6l.tar.xz Node.js v10.x:wget https://nodejs.org/dist/latest-v10.x/node-v10.19.0-linux-armv6l.tar.xzEntpacke das Archiv.tar xvf node-v8.17.0-linux-armv6l.tar.xz # oder tar xvf node-v10.19.0-linux-armv6l.tar.xzWechsel in den Ordner wohin du die Dateien entpackt hast...cd node-v8.12.0-linux-armv6l/ # oder cd node-v10.19.0-linux-armv6l/... und kopiere die Node.js und NPM Dateien in die System Ordner /usr/bin/ und /usr/lib/sudo cp -R bin/* /usr/bin/ && sudo cp -R lib/* /usr/lib/Node.js und der Paketmanager npm sind nun installiert. Mit node -v und npm -v kannst du überprüfen welche Version installiert ist. Node.js installieren Variante #2 (Raspberry Pi 2 / 3 und neuer)Node.js Quelle zu deinen Paketlisten hinzufügen. Node.js v6.x:curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - Node.js v8.x:curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - Node.js v10.x:curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - Node.js v11.x:curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash - Wenn du die folgende Fehlermeldung folge den Schritten für ältere Raspberry Pi Modelle. "You appear to be running on ARMv6 hardware. Unfortunately this is not currently supported by the NodeSource Linux distributions. Please use the ‘linux-armv6l’ binary tarballs available directly from nodejs.org for Node.js v4 and later."Jetzt kannst du Node.js mit folgendem Befehl installieren.sudo apt-get install -y nodejs Mit nodejs -v kannst du überprüfen welche Version installiert ist.Node.js testen mit einem Hello World ProgrammErstelle eine Javascript Datei mitsudo nano helloWorld.js und füge folgenden Javascript Code hinein.var http = require('http'); http.createServer(function (request,response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World!\n'); }).listen(8000) console.log('Web Server running at http://127.0.0.1:8000');Führe das Script ausnode helloWorld.jsÖffne den Browser und rufe folgende Adresse auf.http://IP-Adresse-des-Raspberry:8000/