MarisBoat – VPN boat

Finalmente posso scrivere questo articolo.

Tutto nasce dall’idea di poter raggiungere distanze grandi per poter  pescare che altrimenti non si potrebbero raggiungere né con la canna da pesca né in assenza di una barca motorizzata.

Proprio per questo motivo girando per lo store cinese Aliexpress sono incappato in questa:

Perfettamente ciò che mi serviva, almeno pensavo. Una via di mezzo tra un giocattolo ed una cosa seria.
Una volta arrivata al costo di 70 euro la barca si presentava bene, peccato che lo stesso non si è potuto dire nel funzionamento:
Lenta, radiocomando giocattolo, funzione sgancio con leva su e giù, senza pulsante dedicato.
Una vera e propria delusione, in mare non l’ho persa grazie a degli scogli vicini altrimenti era già andata via e con lei i miei 70 euro di sogni e speranze.
Quindi dovevo pensare ad una soluzione, una che mi facesse trasformare tutti questi contro in pro.

E fu proprio così che mi venne l’idea di preparare il prototipo di barca telecomandato wireless con doppio motore da 48000 rpm l’uno, denominato Maris Boat.

La nuova barca con le vesti della precedente doveva adesso avere:
1. Due motori potenti
2. Telecomandata da smartphone con raggio d’azione infinito o quasi.
3. Webcam per riprese della pesca
4. Luce faro per pescare al buio
5. GPS per sapere sempre la posizione visto la distanza infinita.
6. Sensore di forza per sapere se ha abboccato il pesce alla lenza collegata.
7. Ritorno a riva automatico.
8. Batterie con ricarica solare.
Belle tutte queste idee il difficile è stato provare a metterle in pratica.
Per questo progetto ho utilizzato (hardware):
1.Barca RC giocattolo.
2.Raspberry pi 3.
3.Controller motori L298N.
4.Motori brushless da 5800 rpm.
5.GPS modulo bluethoot.
6.2 power bank (una a ricarica solare).
7.Pazienza, varie ed eventuali.
Software:
1.Apache 2 e PHP
2.GPIO wiringpi
3.SSH
4.Motion
5.Gpsd

Partiamo dal principio:
Innanzi tutto ho smontato l’imbarcazione giocattolo togliendo ogni cosa all’interno:
Come si vede dalla foto ho tolto la scheda di controllo del giocattolo, iniziato ad operare, invece, con il raspberry collegando i motori di serie della barca ad un modulo relè 4 canali.
L’esperimento è andato a buon fine i motori collegati al relè ed attivati mediante GPIO davano la risposta immaginata… si muovevano! :p

Bene, ma adesso dovevamo fare in modo, in assenza di timone di poter muovere i motori in maniera tale da poter virare e tornare indietro.

A questo scopo è venuto in aiuto il modulo L298N, mediante il quale è stato possibile invertire i poli direttamente da GPIO e quindi invertire il senso di marcia di dei due motori.

Facile stabilire le direzioni:
• NORD –> GPIO 0 – 2 ATTIVI (HIGH)
• SUD –> GPIO 1 – 3 ATTIVI
• OVEST –> GPIO 0 – 2 ATTIVI
• EST –> GPIO 1-3 ATTIVI
• STOP –> GPIO 0 – 1- 2 -3 DISATTIVI (LOW).

I GPIO altro non sono che delle porte di espansione inserite nel raspberry che permettono grazie all’interazione software di poter essere attivati (HIGH) o disattivati (LOW).  Vi mostro un esempio e i rispettivi numerici GPIO della scheda raspberry.
I nostri motori sono collegati alle GPIO 0 – 1 – 2 – 3.

Bene fin qui nulla di complesso.

La parte software è stata implementata installando sulla nostra raspberry (ricordiamo se non l’abbiamo detto ancora che monta la distro raspbian) apache 2 e php eseguendo queste operazioni.
1. sudo apt-get update
2. sudo apt-get install apache2
3. sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql
4. sudo nano /etc/apache2/mods-enabled/dir.conf
5. <IfModule mod_dir.c>DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule>
6. sudo systemctl restart apache2

Dopo apache abbiamo dovuto installare:
1. sudo apt-get install motion
2. sudo apt-get install openvpn

Il primo serve per visualizzare la webcam via usb inserita nel raspberry (apre una porta in visualizzazione alla webcam su 8081) il secondo serve per la creazione di un tunnel VPN per poter raggiungere la barca da qualsiasi parte con qualsiasi connessione senza aver bisogno di impostare porte in forwarding o ip pubblici.

Il tunnel farà in modo di aver sempre il telefono connesso alla barca mediante un indirizzo ip statico, come se la barca o il telefono (che ricordo serve per pilotarla) fosse sempre sulla stessa rete.
Una volta finito ho inserito all’interno della cartella /var/www/html/ il progetto della barca denominato Maris Boat e scaricabile da qui. Vi mostro uno screenshot.

Aggiornamenti in corso… cambio scafo per necessità di spazio; purtroppo nel vecchio non entravano i motori ed il gps!!

Vi mostro una foto del nuovo gioiellino.

Provato oggi il motore brushless… finalmente gira e come gira!!

Avevo il problema di capire quale fosse la frequenza di azionamento dei motori brushless, e non potendolo provare tutte ad uno ad uno ho creato uno script in python che me lo provasse lui per me ( lo posto .. potrebbe servire a qualcuno).
testfreq.py
A questo punto trovate le frequenze di funzionamento ho realizzato il programmino che vedete girare sul video che mi permette di azionare ogni controllo.
pwm.py

Troverete comunque tutto su : 
https://github.com/runcif/MarisBoat

Aggiornamento in merito all’elaborato:
Innanzi tutto volevo assicurarvi che tutto gira al meglio, si perchè ho provato il tutto “senza carrozzeria” e fortunatamente “tutto” risponde egreggiamente ai comandi il motore e tutti i componenti collegati… che ricordo sono:

  • 1. Gps usb
  • 2. Brushless con Esc 35A
  • 3. RaspBerry pi 3
  • 4. Servo per timone
  • 5. WebCam su servo

Adesso arriva la parte più interessante, far entrare il tutto all’interno dell’imbarcazione.
Sono riuscito a ricavare dalla parte destra dello scafo, un pò di spazio per l’inserimento del RaspBerry ed in più ho collocato la batteria LIPO da 11.1v direttamente sul coperchio dello scafo tramite un adesivo a strappo.
Adesso dovrei creare due supporti uno per l’ESC e l’altro per il motore in maniera tale da fissarli direttamente sullo scafo.
Mentre devo creare il buco per il servo, che andrà a far girare la webcam a 180°.
Il motore riscalda tantissimo al massimo della potenza, ergo ho ordinato un tubo in rame che andrà a fare da collana al motore facendo passare l’acqua al suo interno, dovrei riuscire a raffreddarlo a dovere.


Il tempo è tiranno…. speriamo di poter completare il tutto entro questa estate! Vi aggiornerò come sempre non appena ho qualche notizia.
Buchi fatti, servo con cam davanti e pulsante laterale.

[08/05/2018]
Lo scafo è in fase di colorazione finale, non appena arriverà in laboratorio vi fornirò qualche foto, ed inizierà il montaggio definitivo, per il primo test in acqua.

Leave a Reply

Your email address will not be published. Required fields are marked *