Skip to content

johansundstrom/RPi_Node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry Pi RESTful API med GPIO

Projektet använder Raspberry Pi och testar RESTful API med NODE och Express. Filen server.js initialiserar och läser RPi's GPIO. GPIO-status tillgängliggörs genom RESTful API via Express middleware. Index.html nås via http://localhost:3000 (standardport) som tillsammans med client.js läser och visar status på respektive http://localhost:3000/index.html/input/pin#

Setup för Raspberry Pi

Filer

  • server.js (Server side NODE)
  • index.html (Webbfil)
  • client.js (Client side JavaScript)
  • style.css (stil)

GPIO

  • Använder pin 16 (GPIO 23) som input
  • Använder pin 22 (GPIO 25) som input

GPIO eLinux.org

Installera

Skapa generell projektyta i filsystemet på lämplig plats (exempelvis '~/proj') genom mkdir proj och cd Proj. På Raspberry Pi i terminalfönstret...

git clone https://github.com/johansundstrom/RPi_Node

Gör mappen RPi_Node till aktuell mapp

cd RPi_Node

Install Express

npm install express

Install Pi-GPIO

npm install pi-gpio

Starta

sudo node server

Problem

mongod --dbpath "C:\Program Files\MongoDB\Data\DB". Onödigt problem med core-uppdatering och gpio-admin.c löses med http://stackoverflow.com/questions/36735925/gpio-over-raspberry-pi-3-model-b-using-node-js

Setup RPi File Share och VNCServer

sudo apt update && sudo apt full-upgrade
sudo apt install -y tightvncserver
sudo apt install -y xrdp
sudo apt install -y samba

Starta Microsoft Remote Desktop

sudo leafpad /etc/samba/smb.conf &

Lägg till följande i slutet på filen smb.conf...

[PiShare]
 comment=Raspi Share
 path=/home/pi
 browseable=Yes
 writeable=Yes
 only guest=No
 create mask=0740
 directory mask=0750
 public=no
sudo smbpasswd -a pi

Montera enhet med net use p: \\raspberrypi\PiShare 

GPIO manipulation

sudo echo 17 > /sys/class/gpio/export
sudo echo out > /sys/class/gpio/gpio17/direction
echo 1 > /sys/class/gpio/gpio17/value
echo 0 > /sys/class/gpio/gpio17/value

.