Inhoudsopgave:

Node-RED: RS485 Raspberry Pi-zelfstudie - Ajarnpa
Node-RED: RS485 Raspberry Pi-zelfstudie - Ajarnpa

Video: Node-RED: RS485 Raspberry Pi-zelfstudie - Ajarnpa

Video: Node-RED: RS485 Raspberry Pi-zelfstudie - Ajarnpa
Video: RS485 Raspberry pi Node red | Node red rs485 modbus 2024, November
Anonim
Node-RED: RS485 Raspberry Pi-zelfstudie
Node-RED: RS485 Raspberry Pi-zelfstudie

De op flow gebaseerde visuele programmeertool Node-RED wordt steeds populairder voor Raspberry Pi-ontwikkelaars. Deze instructable laat je zien hoe je onze geïsoleerde RS422 / RS485 Serial HAT onder Node-Red kunt gebruiken voor eenvoudige RS485-communicatie en ook voor MODBUS-toepassingen.

Stap 1: Gereedschappen en materialen

Gereedschappen en materialen
Gereedschappen en materialen

Materialen:

  • Raspberry Pi A+, B+, 2B, 3B of 4B
  • RS422/RS485 seriële HOED
  • SD-kaart

Software:

  • Raspbian Stretch of Buster (met desktop en

    aanbevolen software)

Stap 2: Bevrijd de UART in Raspbian Stretch of Buster

Bevrijd de UART in Raspbian Stretch of Buster
Bevrijd de UART in Raspbian Stretch of Buster

De eenvoudigste manier is om de raspi-config-tool te gebruiken om de UART naar de GPIO14/15-pinnen te schakelen. maak een nieuwe Raspbian-afbeelding

  1. sudo raspi-config
  2. ga naar '5 interface-opties'
  3. ga naar 'P6 Serieel'
  4. 'Wilt u dat een login-shell via serieel toegankelijk is?' NEE
  5. 'Wilt u dat de seriële poorthardware wordt ingeschakeld?' JA
  6. Voltooi raspi-config
  7. herstart de Raspberry Pi

Nu heb je toegang tot de UART via /dev/serial0

Stap 3: DIP-schakelaarinstelling voor RS485 HAT

DIP-schakelaarinstelling voor RS485 HAT
DIP-schakelaarinstelling voor RS485 HAT

Onze RS422/RS485 HAT wordt geleverd met 3 DIP-switchbanken. U dient deze DIP-switches voor RS485 in te stellen zoals in de afbeelding hierboven.

  • Schakelaar 1: 1-UIT 2-AAN 3-AAN 4-UIT
  • Schakelaar 2: 1-UIT 2-UIT 3-AAN 4-AAN
  • Schakelaar 3: 1-UIT of AAN* 2-UIT 3-UIT 4-UIT

*Afhankelijk van de positie van de RS422/RS485 HAT in de Modbus-lijn moet u de afsluitweerstand AAN of UIT schakelen. Schakel de weerstand alleen in de AAN-stand als de HAT zich aan het ene uiteinde van de buslijn bevindt. Schakel in alle andere gevallen de afsluitweerstand UIT

Stap 4: Start Node-RED

Start Knooppunt-RED
Start Knooppunt-RED

Start Knooppunt-RED:

Node-RED is onderdeel van Raspbian Stretch en Buster (met desktop en aanbevolen software). U kunt het node-red commando gebruiken om Node-RED in een terminal of op het bureaublad uit te voeren via het menu 'Programmeren'.

Open de editor:

Zodra Node-RED actief is, hebt u toegang tot de editor in een browser. Als u de browser op het Pi-bureaublad gebruikt, kunt u het adres openen:

Stap 5: Eenvoudige RS485-communicatie

Eenvoudige RS485-communicatie
Eenvoudige RS485-communicatie
Eenvoudige RS485-communicatie
Eenvoudige RS485-communicatie

In deze voorbeeldstroom stuurt de Raspberry Pi na het indrukken van de injectknop de tekst 'Hello World' via de RS485. De stroom ontvangt inkomende tekenreeksen (beëindigd door \d) en toont de tekenreeks in het foutopsporingsvenster aan de rechterkant.

De communicatie wordt gerealiseerd door gebruik te maken van de seriële in- en uitknooppunten, die vooraf zijn geïnstalleerd. Het is erg belangrijk om de eigenschappen van de seriële poort in te stellen op /dev/serial0 zoals in de afbeelding hierboven.

U kunt de flow testen met een aangesloten pc (via een USB naar RS485-adapter) en een eenvoudig terminalprogramma.

Stap 6: MODBUS - Configuratie 1

MODBUS - Configuratie 1
MODBUS - Configuratie 1

In de volgende stappen wil ik je laten zien hoe je een eenvoudige Modbus RTU-communicatie implementeert onder Node-RED.

Eerst moeten we extra Modbus-knooppunten node-red-contrib-modbus installeren via de palettemanager of op de bash door in te voeren:

npm install node-red-contrib-modbus

Nu kunt u de stroom importeren.

Stap 7: Modbus-configuratie 2

Modbus-configuratie 2
Modbus-configuratie 2
Modbus-configuratie 2
Modbus-configuratie 2
Modbus-configuratie 2
Modbus-configuratie 2

Na het importeren van de flow kunnen we een kijkje nemen in de configuratie van 'Modebus write' en 'Modbus read' nodes. Het is belangrijk om de eigenschap 'Server' in te stellen op dev/serial0 en deze te configureren zoals weergegeven in de bovenstaande afbeeldingen.

Stap 8: Modbus-test

Modbus-test
Modbus-test

Voor de test heb ik een Arduino aangesloten met RS485 Shield als Modbus-slave (u kunt dit instructable raadplegen voor meer informatie).

Modbus Read zal Unit 1 alle 2s pollen en 8 registers van de slave lezen. U kunt het resultaat zien in de status van Modbus Response. Via de 2 injectoren kun je register 6 van de slave op 0 of 255 zetten.

Aanbevolen: