3 proiecte Mega Robo Cool cu Raspberry Pi 4 pe care le poți începe chiar acum

3 proiecte Mega Robo Cool cu Raspberry Pi 4 pe care le poți începe chiar acum

Raspberry Pi este un mic computer care permite studenților, experților și pasionaților de robotică să construiască proiecte computerizate inovatoare la un cost foarte accesibil. Popularitatea mare de care se bucură Raspberry Pi se datorează gamei infinite de posibilități pe care acest sistem le oferă. Calculatorul cu o singură placă se află acum în cea de-a patra versiune majoră și este utilizat pe scară largă pentru numeroase proiecte tehnologice din întreaga lume. Dacă ești în căutarea celor mai bune proiecte robo cool, cu noul Raspberry Pi 4 poți începe de la nivelul de bază până la cel avansat. Continuă lectura

Raspberry Pi 4 Model B, cel mai puternic model Raspberry Pi fabricat vreodată

Raspberry Pi 4, cel mai puternic model Raspberry Pi fabricat vreodată

Dacă te-ai gândit la cum va arăta viitorul computerelor, cei de la Raspberry Pi tocmai au răspuns la întrebările de acest gen cu un nou produs scos pe piață la finalul lunii iunie din acest an: Raspberry Pi 4 Model B. Noul model Raspberry Pi  este la fel de performant ca un calculator “entry level” și chiar comparabil cu un desktop de performanțe medii. Raspberry Pi 4 este primul produs capabil de 4k și primul care oferă performanțe asemănătoare PC-urilor. Folosit de pasionații de programare la sarcini din ce în ce mai complexe, ultima versiune Raspberry Pi este spectaculoasă, fără să vină cu un preț mai mare.  Continuă lectura

5 proiecte Robo Cool pe care le poți face cu Arduino 

5 proiecte robo cool pe care le poti face cu Arduino

Pasionat de componentele electronice, circuite, plăci de bază, electronică și programare? Robotica este unul dintre domeniile viitorului și va adresa lumii provocări din ce în ce mai mari. Noi te înțelegem perfect, tocmai de aceea ne-am propus să-ți oferim 5 idei de proiecte RoboCool pe care le poți face cu Arduino. Proiectele care au la baza plăci de dezvoltare Arduino pot face din timpul tău liber o adevărată provocare. 

Continuă lectura

Rămâi (Robo)Cool în miez de vară! Reglează temperatura în stil Arduino

arduino ventilator

Este vară, extrem de cald și tot ce ne dorim este să stăm lipiți de un ventilator care să ne răcorească. Sistemele de ventilație sunt scumpe și complicat de instalat, mai ales dacă nu locuiești în propria ta casă, deoarece implică modificări în încăperile unde vor fi plasate. Pentru un pasionat de robotică și tehnologie căruia îi place să regleze temperatura în stil Arduino, avem exact ce trebuie.

Continuă lectura

Educația STEM – viitorul pentru dezvoltarea creativității și ingeniozității copiilor

Multe lucruri au tot fost anunțate de-a lungul timpului ca fiind viitorul, acum fiind asaltați de scenarii în care se împletesc Artificial Intelligence, Voice Recognition, Internet of Things și așa mai departe. Căutăm the next big thing în tehnologie și medicină în mod special, dar și în educație – locul din care pornește, de fapt, viitorul.

Continuă lectura

Proiecte cu Raspberry Pi: Cum să construiești propriul tău Google Assistant

Ok google, how’s the weather in the weekend? Cu o simplă comandă vocală îi poți cere “asistentului tău” să-ți redea muzică, știrile sau să-ți spună cum va fi vremea pe următoarele zile. Fără să te folosești de ajutorul mâinilor, de la distanță, poți seta alarme, poți controla dispozitive inteligente cum sunt luminile, temporizatorii sau comutatoarele de la sistemele de automatizare ale electrocasnicelor sau îți poți crea lista de cumpărături doar spunând ceea ce trebuie să cumperi. El notează tot. În loc să apeși de foarte multe ori pe ecranul telefonului, poți solicita din voce să se deschidă o anumită aplicație, să afli ce ședință ai în calendar săptămâna viitoare sau să apeleze persoane din agenda telefonului.

Google Assistant îți oferă răspunsuri personalizate și complexe cu ajutorul comenzilor vocale. Cum s-a ajuns în acest punct al dezvoltării inteligenței artificiale și cum îți poți face chiar tu propriul Google Assistant, fără să fie nevoie să te folosești de telefonul mobil, îți spunem pe larg în rândurile ce urmează.

Ce este Google Assistant?

Google Asistent este așa cum îi spune și numele un asistent virtual, dezvoltat de motorul de căutare Google, care se bazează pe inteligența artificială. În sensul larg al cuvântului, Inteligența Artificială (IA) reprezintă orice tehnologie proiectată să imite modul în care se comportă un om. Învățarea mecanică (machine learning) este o parte importantă a inteligenței artificiale și se bazează pe capacitatea computerelor de a re(acționa) în baza cantității uriașe de date pe care le analizează. Exemplu cel mai bun în acest sens sunt chiar asistenții virtuali care pot înțelege comenzile vocale.

Spre deosebire de asistentul virtual anterior, Google Now care oferea răspunsuri în baza unor solicitări vocale clare, Google Assistant se poate angaja în conversații. După o perioadă de exclusivitate pe smartphone-urile Pixel și Pixel XL, din februarie 2017, Google Assistant a fost implementat și pe dispozitivele Android. Mai mult decât atât, Google Assistant a fost extins pentru a interacționa cu o mare varietate de dispozitive, inclusiv cu electrocasnicele inteligente.

Google Assistant este apelat prin voce umană și în urma comenzii posesorului acesta caută pe internet informațiile solicitate, programează evenimentele în calendarul telefonului, setează alarme sau apelează contactele din telefon.

Cum îți poți construi propriul Google Assistant?

În aprilie 2017, a fost lansat un kit de dezvoltare software (SDK) care permite dezvoltatorilor să-și construiască propriul hardware care să poată rula Google Assistant. Google spune că va funcționa bine pe dispozitivele Raspberry Pi 3 și Linux.

Acest kit a fost integrat în plăcile Raspberry Pi din sistemele de comandă vocală ale mașinilor Audi și Volvo, dar și în anumite aparate inteligente de uz casnic, precum frigiderele, mașinile de spălat sau cuptoarele. Practic, șoferul apelează rapid numeroasele funcții de pe volan pentru a gestiona climatizarea și funcțiile de confort.

Proiectele din domeniul Inteligenței Artificiale cu Raspberry Pi sunt în prezent în plină dezvoltare. De fapt, în afară de Google Assistant mai există și alte platforme IA care concurează pentru ca specialiștii să le instaleze cu Raspberry Pi. Aceste platforme sunt Alexa de la Amazon, IBM Watson, Siri de la Apple și altele mai puțin cunoscute.

Toate companiile de software care dezvoltă asistenți virtuali se sprijină pe comunitatea Raspberry Pi pentru a-și dezvolta programele. Această colaborare face posibil ca și Raspberry Pi să dezvolte prototipuri mai rapide pentru dispozitivele IA (Inteligență Artificială) și IoT (Internet of Things), practic să fie mai accesibile pentru specialiști.

Așadar, să trecem la lucru! Mai jos, am adunat practic tot ce este necesar pentru a construi propriul tău Google Assistant cu Raspberry Pi pentru a avea următoarele funcționalități:

  • Google Assistant (cele mai multe funcții, cu excepția redării media pe Pi)
  • Activare vocală / cuvânt cheie: „Hei Google” sau „Ok Google” și adresezi întrebarea
  • Pornirea unui program/serviciu, deci nu trebuie să deschizi manual programul la fiecare repornire.

Deci, pentru a începe proiectul Google Assistant vei avea nevoie de:

  • Raspberry Pi 3
  • Micro card SD (minimum 8 GB) cu Raspbian instalat
  • Microfon USB
  • Un difuzor

Pasul 1: Înregistrarea dispozitivului

Accesează https://console.actions.google.com pentru a-ți înregistra proiectul în Google Console. Intră pe https://console.cloud.google.com  pentru a-ți activa API-ul Google Assistant.

Asigură-te că selectezi proiectul nou creat în panoul de selecție de lângă sigla Platformei Cloud! Apoi, selectează tabul Api&Services și activează-ți api-ul Google Assistant.

Asigură-te că ai activat toate setările https://myaccount.google.com/activitycontrols pentru ca api-ul să funcționeze corect.

După aceea, revino la https://console.actions.google.com pentru a înregistra dispozitivul Raspberry Pi în colțul din dreapta jos al panoului de aplicații. Downloadează fișierul cu credețialele (datele de autentificare) pentru a le putea folosi mai târziu.

Pasul 2. Setarea audio

Notează-ți numerele cardului / dispozitivului audio folosind:

arecord -l
aplay -l

Folosește aceste informații pentru a edita fișierul asoundrc:

nano /home/pi/.asoundrc
pcm.!default {
  type asym
  capture.pcm "mic"
  playback.pcm "speaker"
}
pcm.mic {
  type plug
  slave {
    pcm "hw:<card number>,<device number>"
  }
}
pcm.speaker {
  type plug
  slave {
    pcm "hw:<card number>,<device number>"
  }
}

Poți testa dispozitivul folosind:

speaker-test -t wav
arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.raw
aplay --format=S16_LE --rate=16000 out.raw
alsamixer

Pasul 3. Instalează Biblioteca Google Assistant

Configurează directoarele în care vom instala mediul virtual:

mkdir ~/googleassistant
nano ~/googleassistant/credentials.json

Vom folosi un spațiu virtual pentru ca spațiul personal să nu devină prea aglomerat. Instalează venv cu:

sudo apt-get install python3-dev python3-venv

Instalează ultima versiune de pip și activează mediul cu:

python3 -m venv env && env/bin/python -m pip install –upgrade pip setuptools –upgrade && source env/bin/activate

Instalează libraria Google Assistant pentru Python:

python -m pip install –upgrade google-assistant-library google-assistant-sdk[samples]

Pasul 4. Autorizează Pi pentru Google Assistant

Instalează instrumentul de autorizare pentru a putea autoriza cu API-ul Google Assistant pe care tocmai l-am activat pentru aplicație:

python -m pip install –upgrade google-auth-oauthlib[tool]

Vei primi un url de autorizare

google-oauthlib-tool --client-secrets ~/googleassistant/credentials.json \
--scope https://www.googleapis.com/auth/assistant-sdk-prototype \
--scope https://www.googleapis.com/auth/gcm \
--save --headless

Este posibil să primești o eroare de autorizare. Pentru a rezolva acest lucru setează în platforma Google Cloud în zona de autentificare Credentials -> OAuth Consent Screen   Asigură-te că ai selectat aplicația ta (Application name)! În momentul în care vei introduce codul de autorizare vei vedea:

credentials saved: /home/pi/.config/google-oauthlib-tool/credentials.json
(env) pi@raspberrypi :~/googleassistant $

Pasul 5. Erorile portului Audio

Este posibil să întâlnești următoarea eroare:

OSError:  PortAudio library not found
(env) pi@raspberrypi :~/googleassistant $

Instalează:

sudo apt-get install libportaudio2

Pentru a preveni pierderea și întârzierea semnalului audio introdu următorul comentariu: /etc/pulse/default.pa

De asemenea, rulează PulseAudio pentru a evita problemele cu Google Assistant:

sudo nano /etc/systemd/system/pulseaudio.service

Adaugă următoarea linie de cod:

[Unit]                      
Description=PulseAudio Sound Server in system-wide mode [Service] 
Type=forking                      
PIDFile=/var/run/pulse/pid                      
ExecStart=/usr/bin/pulseaudio --system --disallow-exit=1 \                       
 --disable-shm=1 --fail=1 --daemonize
[Install]                      
WantedBy=multi-user.target

Activează serviciul și adaugă userul pi grupului pulse-access:
sudo systemctl --system enable pulseaudio.service
sudo adduser pi pulse-access

Dezactivează modulul următor pentru a evita întârzierile audio:

/etc/pulse/default.pa
#load-module module-suspend-on-idle
sudo nano /etc/systemd/system/assistant.service

Pasul 6. Transformă Google Assitant în propriul serviciu personal

Crează un fișier  ~/start_assistant.sh folosind ID-ul modelului de dispozitiv din platforma Google Action:

#!/bin/bash
source /home/pi/googleassistant/env/bin/activate
googlesamples-assistant-hotword --device-model-id <your_device_model_id> 

Fă scriptul executabil:

chmod +x start_assistant.sh

Crează un fișier service în /etc/systemd/system/assistant.service

[Unit]
Description=Google Assistant
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
ExecStart=/bin/bash /home/pi/start_assistant.sh
Restart=on-abort
User=pi
Group=pi
[Install]
WantedBy=multi-user.target

Activează și pornește serviciul:

sudo systemctl enable assistant.service
sudo systemctl start assistant.service

Pasul 7. Ai terminat!

De acum te poți bucura de propriul tău Google Assistant pe Raspberry Pi folosind expresiile „Hey Google” sau „Ok Google„. De asemenea, poți înregistra dispozitivul în aplicația Google Assistant pe iOS sau Android.

Sistem de monitorizare a unui UPS

Dispozitivele de tip UPS (Uninterruptible Power Supply) asigură protecție pentru sistemele electronice împotriva variațiilor de tensiune ale rețelelor de alimentare și împotriva căderilor de tensiune permițând funcționarea continuă. În cazul căderilor de tensiune de scurtă durată sistemele nu își vor întrerupe funcționarea dar în cazul căderilor de mai mare durată sistemele electronice, mai ales sistemele de calcul și dispozitivele de stocare a datelor, trebuie închise în siguranță fără a exista pericolul defectării sau pierderilor de date. Procesul de închidere controlat se poate face de către utilizator, dacă este prezent, sau în mod automat dacă sistemul UPS are capabilitatea de a semnaliza căderea tensiunii de alimentare. În cadrul materialului de față ne propunem să prezentăm implementarea unui sistem de monitorizare a funcționării unui dispozitiv UPS care să permită închiderea automată, în siguranță, a sistemelor de calcul.

Pentru implementare vom utiliza o placă de dezvoltare Raspberry Pi Zero W (se poate utiliza și o placă Raspberry Pi 3) ce va comunica cu dispozitivul UPS printr-o conexiune USB. Se pot monitoriza orice dispozitive UPS care au facilitatea de raportare printr-o astfel de conexiune. În teste s-a utilizat un dispozitiv UPS APC Back-UPS ES550. Pentru conectarea la placa Raspberry Pi Zero W este necesar un adaptor OTG USB.

2

Ca sistem de operare pentru placa de dezvoltare Raspberry Pi Zero W a fost folosită versiunea Lite a sistemului de operare Raspbian, mai exact Raspbian Stretch Lite 2018-06-27. După copierea imaginii pe cardul microSD se recomandă configurarea pentru accesul la distanță înainte de pornirea plăcii de dezvoltare, a se vedea și „Raspberry Pi Zero Headless Quick Start”:

  • Se creează un fișier gol cu numele ssh pentru a activa conectarea de la distanță;
  • Se creează un fișier conf pentru conectarea la rețea cu următorul conținut:

    ctrl_interface=DIR=/var/run/wpa_supplicant

   GROUP=netdev

   update_config=1

   network={

        ssid=”YOURSSID”

        psk=”YOURPASSWORD”

        scan_ssid=1

    }

După pornirea sistemului și conectarea UPS-ului la placa de dezvoltare putem verifica conexiunea cu ajutorul comenzii:

# lsusb

3

Dacă totul este în regulă vom trece la instalarea pachetelor necesare supravegherii dispozitivului UPS:

# sudo apt-get update

# sudo apt-get upgrade (recomandat)

# sudo apt-get install apcupsd

Pentru mai multe informații asupra programului APC UPS Daemon puteți consulta manualul oficial. Înainte de utilizare trebuie să efectuăm câteva modificări în fișierul de configurare /etc/apcupsd/apcupsd.conf:

UPSNAME MyAPC

UPSCABLE usb

USBTYPE usb

DEVICE

și în fișierul /etc/default/apcupsd:

ISCONFIGURED=yes

Finalmente putem repornim serviciul:

# sudo apcupsd restart

Testarea comunicației cu dispozitivul UPS se va face cu ajutorul comenzii:

# apcaccess status

4

Supravegherea se poate face și prin intermediul unei interfețe web. Pentru acest lucru vom instala serverul web apache și componenta cgi a APC UPS Daemon:

# sudo apt-get install apache2 apcupsd-cgi

Pentru a activa execuția fișierelor cgi la nivel de server web este necesară realizarea unei legături simbolice la nivelul fișierelor de configurare apache:

# cd /etc/apache2/mods-enabled

# sudo ln -s ../mods-available/cgi.load

# sudo /etc/init.d/apache2 restart

Interfața web poate fi accesată la adresa:

http://YOUR_RPi_IP/cgi-bin/apcupsd/multimon.cgi

5

6

În fișierul de configurare /etc/apcupsd/apcupsd.conf putem personaliza diverși parametrii (precum procentul din baterie la care sistemul să se oprească automat, timpul de funcționare pe baterie):

ONBATTERYDELAY 6

BATTERYLEVEL 5

MINUTES 3

În mod implicit la apariția evenimentelor de cădere a alimentării și la revenirea alimentării serviciul APC UPS Daemon rulează scripturile /etc/apcupsd/onbattery și /etc/apcupsd/offbattery. Acestea pot fi personalizate pentru a efectua diverse operații dorite (să trimită email, să oprească automat alte sisteme de calcul etc.).

Pentru mai multe informații puteți consulta și proiectele:

Și ca o alternativă la software-ul de monitorizare:

Sistemul de monitorizare este capabil să comande oprirea în siguranță a mai multor sisteme de calcul inclusiv sisteme ce rulează sisteme de operare Microsoft Windows – a se vede materialul: „How to Remotely Shut Down or Restart Windows PCs”.