Develop RaspberryPI Get started - aliconnect/aliconnect.sdk GitHub Wiki
- https://www.raspberrypi.com/software/
- [ Download fror Windows ]
- Create image on disk
- Place disk in PI
- Connect keyboard
- Start PI
- Select contry and language
- Set language english, [x] keyboard US
- [ next ]
- username:
pi
- password:
raspberry
- [ next ]
- [ next ]
- Update software
sudo raspi-config
- 5 Interfacing Options
- P3 VNC
- Close
- Ga naar de website https://winscp.net/eng/docs/lang:nl
- download WinSCP via de link https://winscp.net/download/WinSCP-5.15.3-Setup.exe
- Volg installatie instructies
- Start WinSCP
- Nieuwe Sessie
- Voer ip adress in b.v. 192.168.0.171
- login met pi en wachtwoord raspberry
sudo raspi-config
- 5 Interfacing Options
- P2 SSH
- Nieuwe sessie
- Sessie
- Bestandprotocol:
SCP
- Adres doelcomputer:
192.168.0.107
- Poortnummer:
22
- Gebruikersnaam:
pi
- Wachtwoord:
raspberry
- [ Opslaan ]
- [ Inloggen ]
- Bestandprotocol:
- Algemeen
- Protocol:
SFTP - SSH File Transfer Protocol
- Host:
192.168.0.107
- Poort: ``
- Inlogtype:
Normaal
- Gebruiker:
pi
- Wachtwoord:
raspberry
- Protocol:
- Geavanceerd
- Standaard lokale map:
C:\Aliconnect\public\alicon\aliconnect.pi\control
- Standaard externe map:
/home/pi/control
- [ Verbinden ]
- aansluiten MCP23017-pin VDD <-> PI pin 1 3V3
- aansluiten MCP23017-pin SDA <-> PI pin 3 GPIO2/SDA1 I2C
- aansluiten MCP23017-pin SCL <-> PI pin 5 GPIO3/SCL1 I2C
- aansluiten MCP23017-pin VSS <-> PI pin 9 Ground
sudo raspi-config
-
5 Interfacing Options
-
P5 I2C
-
Kijk met WinSCP of bestand
/dev/i2c-1
bestaat. -
Maak bestand lees en schrijfbaar.
sudo chmod o+rw /dev/i2c*
-
Rechten zijn nu
rw-rw-rw-
-
test i2c
i2cdetect -y 1
{
"logger": {
"title": "Remote Sync"
},
"uploadOnSave": true,
"useAtomicWrites": false,
"deleteLocal": false,
"hostname": "{PI IP Address}",
"port": "22",
"ignore": [
".remote-sync.json",
".git/**"
],
"target": "/home/pi",
"username": "pi",
"password": "{pi admin password}",
"watch": [],
"transport": "scp"
}
naar Root user
sudo su
curl -fsSL https://deb.nodesource.com/setup_14.x | bash -
Now install it by running:
apt-get install -y nodejs
su pi
npm install node-mcp23017 --save
- Pin 4 5V Power - Rood
- Pin 6 Ground - Bruin
- Pin 12 GPIO 18 - Oranje
- get
https://github.com/srcshelton/servoblaster/
- kopieer de bestanden van
servoblaster
naarcontrol/servoblaster
- open terminal op PI
- ga naar folder
control
cd control
- ga naar folder
servoblaster
cd servoblaster
- maak uitvoerbare servoblaster bestanden van
servod.c
met commandomake
make
- resultaat
cc -I/opt/vc/include -Wall -Wextra -g -O2 -mcpu=native -o servod servod.c mailbox.c -L/opt/vc/lib -lm -lbcm_host
- resultaat
- installeer blaster
sudo make install
- resultaat
[ "`id -u`" = "0" ] || { echo "Must be run as root"; exit 1; } install -d -m 0755 -o root -g root /usr/local/sbin install -d -m 0755 -o root -g root /etc/init.d install -bCSv -m 0755 -o root -g root servod /usr/local/sbin/servod install -bCSv -m 0755 -o root -g root init.sysv /etc/init.d/servoblaster update-rc.d servoblaster defaults 92 08 #/etc/init.d/servoblaster start
- resultaat
- wijzig rechten anders werkt
./servod
nietsudo chmod 777 /dev sudo chmod 777 /dev/mem
- Instellen pwm signaal. Start dit programma in de achtergrond m.b.v.
&
. Druk enter na opstartensudo ./servod --pcm&
- Test kanaal 2 / P1-12 heen
echo P1-12=100 > /dev/servoblaster
- Test kanaal 2 / P1-12 terug
echo P1-12=150 > /dev/servoblaster
Using PCM is a better option, as the 3.5mm jack also uses the PWM peripheral, so ServoBlaster can interfere with sound output. In my case 3.5mm jack oudio out stoped working in PWM mode, so recommended to run as PCM with --pcm flag.
npm i servoblaster
servoblaster.createWriteStream = function (pin, max = 217, min = 78) {
var stream = fs.createWriteStream(SERVOBLASTER_DEV);
var servo = servoblaster.Transform({ pin: pin });
servo.pipe(stream);
stream.on('error', function (err) {
servo.emit('error', err);
});
stream.on('open', function () {
servo.emit('open');
});
servo.pos = (pos) => {
pos = String(min + parseInt((max-min)/100*pos));
// console.log(pos);
servo.write(pos);
}
return servo;
};