Warsztaty Raspberry Pi

Podsumowanie tego, co już było i plany na przyszłość.

Od jakiegoś czasu organizuję w różnych miastach darmowe warsztaty Raspberry Pi. Jak dotąd odwiedziłem:

Hackerspace Wrocław

Hackerspace Warszawa

Politechnika Warszawska odział w Płocku

Hackerspace Silesia

Zobacz też: Zwiedzamy: Hackerspace Silesia

Wielu uczestników podjęło próbę pracy z maliną po raz pierwszy.

Dla mnie było to świetne przeżycie, podczas którego wiele się nauczyłem. Wspaniali ludzie oraz zabawa z technologią za każdym razem tworzyły niesamowitą atmosferę (: Mam nadzieję, że dla tych, którzy brali udział w warsztatach były one równie cenne. Cieszę się z wszystkich wypełnionych ankiet, komentarzy i krótkich rozmów powarsztatowych. Im większy feedback, tym łatwiej mi udoskonalać te spotkania. Dodatkowo – wielkie dzięki za miłe słowa. Daje to motywację!

Warto przypomnieć, że warsztaty są organizowane przy wsparciu Sii, które ma swój wkład w rozwój technologii oraz Nettigo – sklepu internetowego, w którym można sobie takie Raspberry zakupić.

Poniżej zamieszczam krótką relację z dotychczasowych spotkań i skrót materiałów, z których korzystaliśmy.

Przed warsztatami na karty pamięci Raspberry wlałem raspbiana według tej instrukcji:

Okazało się to jednak nietrafionym pomysłem. W Katowicach, gdzie pakiety nie instalowały się poprawnie, trzeba było wykonać dodatkowo update i upgrade, co pochłonęło nam trochę czasu. Znalazłem już na to lepsze rozwiązanie i obecnie pracuję nad przygotowaniem obrazu zawierającego wszystkie potrzebne pakiety. Uchroni nas to przed wieloma nieprzewidzianymi problemami.

Następnie odblokowałem kolejne porty i interfejsy.

W trakcie warszawskich warsztatów razem sprawdzaliśmy IP i konfigurowaliśmy na statyczne, co miało służyć znalezieniu Raspberry w sieci. Rzecz w tym, by maliny nie korzystały z dynamicznego przydzielania wolnego adresu, tylko otrzymywały dokładnie ten, który został wskazany. Było to realizowane poprzez edytowanie pliku:

sudo nano /etc/dhcpcd.conf

pod fragmentem z zakomentowanym statycznym IP dopisywałem przykładowo:

interface wlan0

 

static ip_address=192.168.1.123/24

static routers=192.168.1.1

static domain_name_servers=192.168.1.1

Pierwsza część adresu IP „192.168.1” była związana z siecią w danym miejscu i zależnie od niego się różniła. Druga część odpowiadała już za sam adres maliny – każda miała swój własny, niepowtarzalny i sprawdzony wcześniej pod względem dostępności.

Niestety, takie działania także okazały się czasochłonne. Poza tym wymieszanie dynamicznych i statycznych IP mogło dodatkowo powodować nieprzyjemne efekty.

W kolejnych edycjach mam już na to sposób. Będzie skrypt, który wyświetli IP po starcie.

Na warsztatach na początku porozmawialiśmy o podstawowych informacjach związanych z Raspberry. Było trochę o hardwarze i softwarze. Wszystkie skrypty, o których zaraz napiszę, dostępne są na repozytorium: https://github.com/InzynierDomu/Warsztaty_Raspberry_Pi

Zobacz też: Repozytoria i systemy kontroli wersji

Do połączenia używaliśmy putty albo openSSH:

Potem przeszliśmy do zabawy z elektroniką. Korzystaliśmy z płytek stykowych, tak jak na filmiku:

Też zaczęliśmy od sterowanie diodą dzięki skryptowi zapisanemu w repozytorium (blink.py).

Skrypty umieszczaliśmy na dwa różne sposoby.

Stworzyliśmy serwery FTP – zamiast pisać bezpośrednio na Raspberry, można było tworzyć skypty na komputerze, a potem je przesyłać.

sudo apt-get install proftpd

Częściej jednak używaliśmy najprostszego edytora –  nano – wbudowanego w raspiana.

sudo nano blink.py

Wpisywaliśmy skrypt, używając ctrl+o – zapisywaliśmy, a ctrl+x – zamykaliśmy.

W takim skrypcie w liniach:

GPIO.setup(25, GPIO.OUT, initial=GPIO.LOW)

 

GPIO.output(25, GPIO.HIGH)

Liczba 25 oznaczała pin, którym sterowaliśmy.

Schemat wyglądał następująco:

Potem mogliśmy już wpisać:

sudo python blink.py

Dioda mrugała! (: Zakończyć mogliśmy dzięki skrótowi ctrl+c.

Bardzo podobnie było, kiedy chcieliśmy odczytać stan na GPIO. Skrypt odpowiedzialny za to w repozytorium znajdziecie jako read_pin.py. Na początku korzystaliśmy ze zwykłego przewodu, a następnie z czujników (natężenia dźwięku, ruchu, pola magnetycznego, dźwięku, temperatury, przechylenia, pojemności).

Czujnik ruchu(PIR)

Kontaktron

Po takim wstępie przeszliśmy do ciekawszej zabawy z małym IOT i instalowaliśmy pakiety potrzebne do MQTT:

sudo apt-get install mosquitto

 

sudo git clone https://github.com/eclipse/paho.mqtt.python

cd paho.mqtt.python

sudo python setup.py install

Zobacz też: MQTT – lekki i przyjemny protokół dla komunikacji M2M

Korzystaliśmy z dwóch skryptów do publikacji i subskrypcji, które także znajdziecie na repozytorium (MQTT_Publish.py MQTT_Subscribe.py).

Zobacz też: Hej lampko, włącz się!

Mogliśmy wysyłać informacje między malinkami. Następnie mieszaliśmy skrypty i ich funkcjonalności, w wyniku czego powstały nowe, które wysyłały wiadomość od wysterowania pinu lub sterowały diodą po przyjściu wiadomości (ReadPinAndPublishMQTT.py MQTTSubscribeAndBlink.py).

Można też było skorzystać z cloudMQTT (https://www.cloudmqtt.com/), aby skomunikować się poprzez MQTT z zewnątrz.

Zobacz też: Szklarnia w internecie rzeczy(IOT)

Testowaliśmy także działanie IFTTT i skryptu, dzięki któremu mogliśmy wysyłać wiadomości o temperaturze na maila lub telefon. (TemperatureWebhook.py)

Wygląd formuły na stronie.

Termometr cyfrowy DS18b20

Zobacz też: Przydatne aplikacje/strony odc. 1

Nie zabrakło wzmianki o domoticzu, dzięki któremu zamiast skryptów mogliśmy odczytywać wartości oraz korzystać z MQTT, tylko przeklikując wszystko. Tutaj polecenia, aby zainstalować sobie taki interfejs.

mkdir ~/domoticz

 

cd ~/domoticz

wget http://releases.domoticz.com/releases/beta/domoticz_linux_armv7l.tgz

tar xvfz domoticz_linux_armv7l.tgz

rm domoticz_linux_armv7l.tgz

sudo cp domoticz.sh /etc/init.d

sudo chmod +x /etc/init.d/domoticz.sh

sudo update-rc.d domoticz.sh defaults

Następnie znajdziemy go na adresie w sieci lokalnej po IP i końcówce :8080.

Doceniam to, że tak chętnie zadawaliście pytania. Mogliśmy podzielić się pomysłami i porozmawiać o możliwych projektach z Raspberry. To te dyskusje były najcenniejsze!

Przypominam też tym, który byli zainteresowani poszerzeniem wiedzy o zastosowaniach maliny, tutaj można pobrać za darmo PDFy czasopisma MagPiwww.raspberrypi.org/magpi/

Dzięki jeszcze raz wszystkim za udział w warsztatach. Mam nadzieję, że zobaczymy się niedługo na kolejnych! 😀

Jeśli podoba Ci się idea takich warsztatów, możesz wpierać blog, aby mogło sie odbywac więcej takich wydarzeń. Zapraszam TUTAJ

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *