Aby wykorzystać nie jedno, a kilka wyjść ogólnego przeznaczenia (GPIO) z Raspberry Pi do komunikacji z układami 1wire (w tym przypadku z sensorami temperatury DS18B20), wykorzystać możemy dwie opcje. Pierwszą z nich jest wykorzystanie zmodyfikowanego jądra systemu - modyfikacja nazywa się w1-therm i jest dosyć skomplikowana - aby móc z niej skorzystać, trzeba zmodyfikować kilka plików źródłowych i oczywiście zrekomplikować jądro. Drugie rozwiązanie oparte jest na bitbangingu. Z uwagi na wysoki poziom skomplikowania modyfikacji jądra systemu na 'malinie', autor poniższego projektu zdecydował się na wykorzystanie bitbangingu do obsługi 81 czujników temperatury, jakie podłączył do swojego Raspberry Pi. Opisywany poniżej system wykorzystuje program BitBangingDS18B20, jaki znaleźć można na githubue.
Źródło programu Temperature Grid odnaleźć można tutaj. Jest to prosty program będący serwerem sieci web napisanym w Pythonie, który uruchamia DS18B20Scan i przesyła poprzez gniazdo webowe dane o zmianie temperatury. Aby możliwe było równoległe przesyłanie danych z wielu układów, dla każdego wyjścia/pinu/szyny 1wire program uruchomić trzeba w osobnym wątku.
Aby to zrealizować, autor posłużył się prostym programem:
Testy działania
Jak powyższe rozwiązanie wypada w porównaniu do innych modułów 1wire i dedykowanych modułów w jądrze systemu? Poniższy wykres prezentuje porównanie.
Źródło: http://www.raspi-ninja.com/2016/03/raspi-ds18b20-multiple-gpio.html
Źródło programu Temperature Grid odnaleźć można tutaj. Jest to prosty program będący serwerem sieci web napisanym w Pythonie, który uruchamia DS18B20Scan i przesyła poprzez gniazdo webowe dane o zmianie temperatury. Aby możliwe było równoległe przesyłanie danych z wielu układów, dla każdego wyjścia/pinu/szyny 1wire program uruchomić trzeba w osobnym wątku.
Aby to zrealizować, autor posłużył się prostym programem:
Code: python
Testy działania
Jak powyższe rozwiązanie wypada w porównaniu do innych modułów 1wire i dedykowanych modułów w jądrze systemu? Poniższy wykres prezentuje porównanie.
Źródło: http://www.raspi-ninja.com/2016/03/raspi-ds18b20-multiple-gpio.html
Cool? Ranking DIY