Develop RaspberryPI Get started - aliconnect/aliconnect.sdk GitHub Wiki

Installer OS

  1. https://www.raspberrypi.com/software/
  2. [ Download fror Windows ]
  3. Create image on disk
  4. Place disk in PI
  5. Connect keyboard
  6. Start PI

Start PI

  1. Select contry and language
  2. Set language english, [x] keyboard US
  3. [ next ]
  4. username: pi
  5. password: raspberry
  6. [ next ]
  7. [ next ]
  8. Update software

Installeren VNC Viewer op PC

  1. https://www.realvnc.com/en/connect/download/viewer/windows/

Activeer VNC op PI

sudo raspi-config
  1. 5 Interfacing Options
    1. P3 VNC
  2. Close

Installeren WinSCP op PC

  1. Ga naar de website https://winscp.net/eng/docs/lang:nl
  2. download WinSCP via de link https://winscp.net/download/WinSCP-5.15.3-Setup.exe
  3. Volg installatie instructies
  4. Start WinSCP
  5. Nieuwe Sessie
  6. Voer ip adress in b.v. 192.168.0.171
  7. login met pi en wachtwoord raspberry

Activeer WinSCP op PI

sudo raspi-config
  1. 5 Interfacing Options
  2. P2 SSH

WinSCP, Maak verbinding met pi

  1. Nieuwe sessie
  2. Sessie
    • Bestandprotocol: SCP
    • Adres doelcomputer: 192.168.0.107
    • Poortnummer: 22
    • Gebruikersnaam: pi
    • Wachtwoord: raspberry
    • [ Opslaan ]
    • [ Inloggen ]

FileZilla

Instellingen

  • Algemeen
    • Protocol: SFTP - SSH File Transfer Protocol
    • Host: 192.168.0.107
    • Poort: ``
    • Inlogtype: Normaal
    • Gebruiker: pi
    • Wachtwoord: raspberry
  • Geavanceerd
  • Standaard lokale map: C:\Aliconnect\public\alicon\aliconnect.pi\control
  • Standaard externe map: /home/pi/control
  • [ Verbinden ]

Setup MCP23017

Hardware

  1. aansluiten MCP23017-pin VDD <-> PI pin 1 3V3
  2. aansluiten MCP23017-pin SDA <-> PI pin 3 GPIO2/SDA1 I2C
  3. aansluiten MCP23017-pin SCL <-> PI pin 5 GPIO3/SCL1 I2C
  4. aansluiten MCP23017-pin VSS <-> PI pin 9 Ground

Setup I2C Interface

sudo raspi-config
  1. 5 Interfacing Options

  2. P5 I2C

  3. Kijk met WinSCP of bestand /dev/i2c-1 bestaat.

  4. Maak bestand lees en schrijfbaar.

sudo chmod o+rw /dev/i2c*
  1. Rechten zijn nu rw-rw-rw-

  2. test i2c

i2cdetect -y 1

Remote Sync Config

{
  "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"
}

Installeer NodeJS

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

Terug naar pi user

su pi

NodeJS lib

npm install node-mcp23017 --save

Servoblaster

Servoblaster, hardware

  • Pin 4 5V Power - Rood
  • Pin 6 Ground - Bruin
  • Pin 12 GPIO 18 - Oranje

Servoblaster, software

  1. get https://github.com/srcshelton/servoblaster/
  2. kopieer de bestanden van servoblaster naar control/servoblaster
  3. open terminal op PI
  4. ga naar folder control
    cd control
    
  5. ga naar folder servoblaster
    cd servoblaster
    
  6. maak uitvoerbare servoblaster bestanden van servod.c met commando make
    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
      
  7. 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
      
  8. wijzig rechten anders werkt ./servod niet
    sudo chmod 777 /dev
    sudo chmod 777 /dev/mem
    
  9. Instellen pwm signaal. Start dit programma in de achtergrond m.b.v. &. Druk enter na opstarten
    sudo ./servod --pcm&
    
  10. Test kanaal 2 / P1-12 heen
    echo P1-12=100 > /dev/servoblaster
    
  11. Test kanaal 2 / P1-12 terug
    echo P1-12=150 > /dev/servoblaster
    

Audio issues

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.

Installeer servoblaster voor nodejs

npm i servoblaster

Aanpassen node_modules/servoblaster/index.js

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;
};
⚠️ **GitHub.com Fallback** ⚠️