Hur du styr dina ställdon från alternativa nätverk

Hur man styr våra ställdon från alternativa nätverk

Guest Writer
Guest Writer
PA Engineer

Linjär rörelse är en värld som utvecklas ständigt och snabbt utvecklas. Progressive Automations är fast beslutna att ligga i framkant av dessa tekniska förändringar. Fjärrstyrda ställdon har blivit mer mångsidiga och dynamiska. Med detta i åtanke bestämde sig en av våra ingenjörer, Jake, för att genomföra ett experiment för att avgöra om våra linjära ställdon skulle kunna styras från alternativa nätverk. Detta är verkligen möjligt. Därför kommer den här artikeln att ge en steg-för-steg-guide om hur det kan uppnås. Den innehåller också ett kodexempel och de verktyg man behöver för att upprätta en lyckad anslutning och slutligen styra ställdonet/ställdonen online.

Vi använde vårt PA-14 Mini linjära ställdon för detta experiment eftersom det är ett av våra mest populära ställdon!

Klicka här

Produktlista

 

PA-14 Mini linjär aktuator

     

    Mini linear actuator by Progressive Automations

     

    LC-201 är ett 4-kanaligt reläkort, perfekt för denna applikation!

    Klicka här

     

    PA-14 Mini linjära ställdon är en av de mest populära modellerna som erbjuds av Progressive Automations och exemplet vi använde för detta experiment. Alla modeller från Progressive Automations med en 12 VDC/24 VDC/36 VDC/48 VDC-klassning och borstad likströmsmotor kan användas istället för PA-14-ställdonet. Den angivna koden som demonstreras nedan kräver inga modifieringar om man väljer ett annat ställdon, men ström- och spänningsklassningen för strömförsörjning skulle behöva kontrolleras innan man fortsätter.

    Det nya och förbättrade PA-01 ministälldon (PA-14-uppgradering) är den nuvarande modellen vi erbjuder med en mängd olika fördelar. För en jämförelse, kolla in tabellerna nedan och uppgradera tryggt!

     

    PA-01

    PA-14

    Dynamiska laddningsalternativ

    16, 28, 56, 112, 169, 225 lb

    35, 50, 75, 110, 150 lb

    Högsta belastning

    225 lb

    150 lb

    Snabbaste hastighet

    3.54 "/sec

    2.00"/sec

    Inträngningsskydd

    IP65

    IP54

    Strokealternativ

    1 varv till 40 varv

    1 varv till 40 varv

    Halleffektåterkoppling

    Frivillig

    Inga

    Linjär aktuator för en Raspberry Pi

    Experimentdetaljerna som ges kommer att ge en förklaring av hur man styr ett linjärt ställdon med en Raspberry Pi. Raspberry Pi 4 används för att köra serverprogramvaran och ta emot kommandon för styrning av ställdonet. Alternativt kan en stationär dator och ett Arduino-kort användas istället. Om detta är den väg du väljer skulle din dator behöva ta emot kommandon och kommunicera dem till Arduino-kortet via en seriell port.

    Raspberry Pi är en enkortsdator, ungefär lika stor som ett kreditkort. Denna mikrodator utvecklades i Storbritannien för att användas vid undervisning i grundläggande datorkunskaper.

     

    Raspberry Pis funktionsprincip

    Raspberry Pi har alla egenskaper hos en riktig dator, inklusive en dedikerad processor, minne och grafikdrivrutin för HDMI-utgång. Den kör till och med en speciell version av Linux-operativsystemet. Detta gör det enkelt att installera de flesta Linux-program och anslut linjära ställdon till Raspberry Pi. Detta gör att Raspberry Pi kan användas för aktuatorer, som en fullfjädrad medieserver eller som en videospelsemulator.

    Det finns ingen intern datalagring på Pi, men man kan använda ett smartkort som flashminne som hanterar hela systemet. Detta gör att man snabbt kan ladda ner olika versioner av operativsystemet eller programuppdateringar för felsökning. Eftersom den här enheten erbjuder oberoende anslutning över nätverket kan den också konfigureras för SSH-åtkomst eller FTP-filöverföring.

     

    Instruktioner för experimentet

    Följande visar de exakta stegen som Jake vidtog när han testade denna installation, från den första installationen till den linjära ställdonets trådlösa fjärrkontroll.

    Eftersom Raspberry Pi-kortet kan tilldelas en IP-adress och ha GPIO-pinnar, tillsammans med dess tidigare nämnda funktioner, fungerar det som den bästa enheten för ett sådant experiment.

    Konfigurera en Raspberry Pi med en linjär aktuator

    1. Se till att Raspbian OS är installerat på din Pi. Klicka här för en steg-för-steg-instruktion om hur du installerar det här operativsystemet på din Pi.
    2. Anslut din bräda till ditt Wi-Fi. Klicka här för dessa instruktioner.
    3. Tilldela en statisk IP-adress till din Raspberry Pi. Klicka här för detaljer om hur du gör detta.
    4. Skapa en ny .py-fil i din Raspberry Pi och kopiera följande kod till den här filen. När du kör den här koden kommer din Pi att bli en server som lyssnar efter dina kommandon på port "6166 tum.

     

     import socket import sys # Skapa en TCP/IP-socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Bind socketen till porten server_address = ('', 6166) print ('startar på port ', server_address) sock.bind(server_address) # Lyssna efter inkommande anslutningar sock.listen(True) GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) GPIO.setup(27, GPIO.OUT) while (True): # Vänta på en anslutning print ('väntar på en anslutning') connection, client_address = sock.accept() print ('anslutning från', client_address) # Ta emot data i små bitar och skicka om den data = connection.recv(16) print ("received:", data) # Utsignal på GPIO beroende på mottaget kommando if data == b"ext": GPIO.output(18, GPIO.HIGH) if data == b"ret": GPIO.output(27, GPIO.HIGH) if data == b"close connection": break # Stänger anslutningen connection.close() 

    Ledningar

    För tydliga instruktioner om kopplingen för detta projekt finns ett diagram på följande länk: 4-kanaligt digitalt relä + Arduino-koppling av ett linjärt ställdon.

     

    Routerinstallation

    När din Pi är ansluten till ditt Wi-Fi och har en statisk IP-adress som du konfigurerade i föregående steg kan du börja konfigurera portvidarebefordran och IP-filtrering i din router. Portvidarebefordran gör att du kan konfigurera en router för att överföra data som kommer till en specifik port på en viss enhet i ditt lokala nätverk. Låt oss anta att din Pi-server har en statisk IP-adress 192.168.1.69 och lyssnar efter kommandon på port 6166. Du skulle behöva konfigurera din router för att överföra data som kommer på port 6166 till en enhet med IP-adressen 192.168.1.69.

    Instruktioner:

    Obs! Din routers gränssnitt kan se annorlunda ut än i det här exemplet. I så fall hittar du instruktioner om hur du utför detta steg för din routermodell.


        1. Ange din routers IP-adress och logga in för att komma åt routerns gränssnitt.

           

          IP address
        2. Hitta Portvidarebefordran alternativ.

           

          Find the Port Forwarding

     

        1. Ange den statiska IP-adressen för din Pi-server och det publika portintervallet. Se till att port 6166 ligger inom detta intervall.

           

          Public Port range

    Vi rekommenderar att du konfigurerar IP-filtrering nu av säkerhetsskäl. Med IP-filtrering kan du ange IP-adresserna för enheter som har åtkomst till och skicka kommandon till din Pi-enhet via internet. Hitta inställningen för inkommande filter och ställ in IP-adresserna för enheter som har åtkomst till ställdon i den här inställningen.

    Klientinställningar

        1. För att köra klientprogramvara på din enhet, installera Python 3.8 från deras officiell webbplats.
        2. Du kanske också vill installera PyCharm vilket är en lättanvänd IDE.
        3. Kopiera följande kod:
    import socket
    import sys # Create a TCP/IP socket
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Connect the socket to the port where the server is listening
    server_address = ('Enter IP address of router in your pi’s LAN', 6166)
    print ('connecting to %s port', server_address)
    sock.connect(server_address) try: # Send data message = b'ret' print ('sending "%s"',message) sock.sendall(message) # Look for the response amount_received = 0 amount_expected = len(message) while amount_received < amount_expected: data = sock.recv(16) amount_received += len(data) print ('received: ', data) finally: print ('closing socket') sock.close()


     

    Alla ställdon behöver en pålitlig strömförsörjning – vi använde PS-20-12 här!

    Klicka här

    Raspberry Pi kontra Arduino

    Som nämnts i början av artikeln är det möjligt att använda ett Arduino-kort istället för en Raspberry Pi. För det första är det viktigt att notera vad Arduino-kort är. Dessa mikrokontroller exekverar koder som tolkas av firmware. De är inte fullfjädrade datorer och har därför inget operativsystem i sig. Man kanske inte har de grundläggande verktygen som operativsystemet tillhandahåller, men det gör det enklare att exekvera enkel kod direkt.

    Det finns inte heller några kostnader förknippade med detta operativsystem. Arduino Boards huvudsyfte är att interagera med sensorer och enheter, vilket gör Arduino utmärkt för hårdvaruprojekt som syftar till att framkalla en respons på olika sensorsignaler och manuell inmatning. Det är perfekt lämpat för artikulering av andra enheter och ställdon, där ett fullfjädrat operativsystem helt enkelt inte krävs.

    Att välja mellan Raspberry Pi och Arduino beror i hög grad på vilket projekt den ska användas till.

    Det vore bättre att välja Arduino om ens huvudsakliga uppgift är att läsa data från sensorer eller ändra värden på motorn och andra enheter. Med tanke på kraven från Arduino strömförsörjning och Systemet är enkelt att underhålla och kan användas utan att stängas av, nästan utan att störa dess funktion.

    Raspberry Pi å andra sidan skulle vara mer praktisk när man löser uppgifter som utförs på en persondator. Raspberry Pi förenklar arbetsflödeshanteringen i olika scenarier, till exempel om man behöver ansluta till internet för att läsa eller skriva data, spela upp media eller ansluta till en extern skärm.

    Med tanke på att Arduino och Raspberry Pi löser olika uppgifter är det i vissa situationer praktiskt att använda dessa enheter tillsammans. När man ansluter dessa två enheter skulle man kunna få klientåtkomst till inställningar och kod via Pi, medan Arduino styr aktuatorerna och samlar in information från sensorerna. Man kan ansluta dessa två enheter via USB, LAN eller genom att ansluta Arduino I/O-portar till Raspberry Pi.

     

    Slutord

    Vid det här laget är allt konfigurerat för att styra alla ställdon inom de nämnda kriterierna från Progressive Automations via internet! Genom att köra koden får du den ultimata bekvämligheten att styra dina ställdon på distans, eller som vi gillar att kalla dem "WiFi-styrda ställdon". Tack för att du läste den här artikeln – om du har några frågor eller om du vill se något experimenterat av en av våra ingenjörer, kontakta oss och vi hör gärna av oss till dig!