Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

RPi i wysyłanie temperatury w sieci

57 views
Skip to first unread message

pytający

unread,
Jun 29, 2023, 4:47:39 PM6/29/23
to
Witam ponownie,
w celach edukacyjnych, syn chce wysyłać odczytaną temperaturę z czujnika 18B20 z RPi na komputer w tej samej sieci.
Na komputerze jest uruchomiony serwer, na którym jest API zrobione w Django.

Link do repozytorium na Githubie:
https://github.com/Piotrexx/Raspberry-Pi-and-Djnago-Project

RPi odczytuje temperaturę z 18B20 ale problem jest z POSTowaniem danych do API i zapisywaniu danych w bazie danych (używa SQLite).

Z góry dzięki

Cezar

unread,
Jun 29, 2023, 5:25:39 PM6/29/23
to
w backend/settings.py
dodaj:

APPEND_SLASH=False

i upewnij się że ALLOWED_HOSTS masz adres IP RaspberryPi


Cezar

unread,
Jun 29, 2023, 5:44:41 PM6/29/23
to
chyba jeszcze w main.py na RPI, do URL tez trzeba dodac /

c.

pytający

unread,
Jun 29, 2023, 5:51:31 PM6/29/23
to
Poprawki wprowadzone ale nadal nie działa.

pytający

Cezar

unread,
Jun 29, 2023, 6:02:05 PM6/29/23
to
mozesz zdefiniować "nie działa"?
ja właśnie uruchomiłem i "mi działa"

c.

Jarosław Sokołowski

unread,
Jun 29, 2023, 6:23:47 PM6/29/23
to
Pan Cezar napisał:

>> Poprawki wprowadzone ale nadal nie działa.
>
> mozesz zdefiniować "nie działa"?

SOU#1

> ja właśnie uruchomiłem i "mi działa"

SOA#1

--
Jarek

pytający

unread,
Jun 30, 2023, 4:29:07 AM6/30/23
to
Podczas działania skryptu na RPi w konsoli wyświetla się error HTTPConnectionPool, dane się nie wysyłają.

Cezar

unread,
Jun 30, 2023, 6:27:40 AM6/30/23
to
podaj wszystko co wypluwa

c.

pytający

unread,
Jun 30, 2023, 7:47:59 AM6/30/23
to
Taki wyskakuje error: HTTPConnectionPool(host='192.168.0.24', port=8000): Max retries exceeded with url: /api/temperature/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xf6addf28>: Failed to establish a new connection: [Errno 110] Connection timed out'))

Dawid Rutkowski

unread,
Jun 30, 2023, 7:51:28 AM6/30/23
to
Ładne.
A ping 192.168.0.24 na RPi działa?
Sporo jeszcze zostało tych "celów edukacyjnych".
Ale jakie to niesprawiedliwe, tamten komputer na pewno działa z "całym internetem", a ten RPi nie chce.

Grzegorz Niemirowski

unread,
Jun 30, 2023, 8:08:04 AM6/30/23
to
pytający <ro...@poczta.fm> napisał(a):
> Taki wyskakuje error: HTTPConnectionPool(host='192.168.0.24',
> port=8000): Max retries exceeded with url: /api/temperature/ (Caused by
> NewConnectionError('<urllib3.connection.HTTPConnection object at
> 0xf6addf28>: Failed to establish a new connection: [Errno 110] Connection
> timed out'))

Ten port 8000 jest owarty? Nie jest blokowany firewallem?

--
Grzegorz Niemirowski
https://www.grzegorz.net/

pytający

unread,
Jun 30, 2023, 8:08:35 AM6/30/23
to
piątek, 30 czerwca 2023 o 13:51:28 UTC+2 Dawid Rutkowski napisał(a):
Pingowanie działa w obie strony.

> Sporo jeszcze zostało tych "celów edukacyjnych".
Dopiero zaczyna, ale jak zwykle początki są najtrudniejsze i łatwo się można zniechęcić.
Dlatego pozwoliłem sobie napisać na grupie o pomoc w rozwiązaniu problemu.

> Ale jakie to niesprawiedliwe, tamten komputer na pewno działa z "całym internetem", a ten RPi nie chce.
Całe życie jest niesprawiedliwe ...

Cezar

unread,
Jun 30, 2023, 8:12:44 AM6/30/23
to
sprawdz
telnet 192.168.0.24 8000


pytający

unread,
Jun 30, 2023, 8:12:59 AM6/30/23
to
piątek, 30 czerwca 2023 o 14:08:04 UTC+2 Grzegorz Niemirowski napisał(a):
> pytający <ro...@poczta.fm> napisał(a):
> > Taki wyskakuje error: HTTPConnectionPool(host='192.168.0.24',
> > port=8000): Max retries exceeded with url: /api/temperature/ (Caused by
> > NewConnectionError('<urllib3.connection.HTTPConnection object at
> > 0xf6addf28>: Failed to establish a new connection: [Errno 110] Connection
> > timed out'))
> Ten port 8000 jest owarty? Nie jest blokowany firewallem?
Wyłączyliśmy firewall-a w ESET i dalej nie działa.

pytający

unread,
Jun 30, 2023, 8:30:30 AM6/30/23
to
Po uruchomieniu na laptopie:
telnet 192.168.0.24 8000

Pojawia się komunikat:
Nie można nawiązać połączenia z hostem na porcie 8000. Połączenie nie powiodło się

Grzegorz Niemirowski

unread,
Jun 30, 2023, 8:45:43 AM6/30/23
to
pytający <ro...@poczta.fm> napisał(a):
> Po uruchomieniu na laptopie:
> telnet 192.168.0.24 8000
> Pojawia się komunikat:
> Nie można nawiązać połączenia z hostem na porcie 8000. Połączenie nie
> powiodło się

Więc albo ten serwer wcale nie działa, albo słucha tylko na localhoście, a
tym IP nie.
Jednak w konfiguracji niby jest:
ALLOWED_HOSTS = ['192.168.0.24', 'localhost', "192.168.0.101"] #
["localhost", "192.168.0.101", "192.168.0.24"]
Więc powinno słuchać nie tylko na localhoście. To django w ogóle działa? Coś
się wyświetla, są jakieś logi? Mało informacji podajesz.

Cezar

unread,
Jun 30, 2023, 8:48:26 AM6/30/23
to
ok, jeszcze takie głupie pytanie,
Jak startujesz swoj serwer?


pytający

unread,
Jun 30, 2023, 8:53:46 AM6/30/23
to
Na serwerze Django w konsoli wyświetlają się logi wchodzenia na stronę (http://localhost:8000/api/temperature/) ale tylko wtedy kiedy wchodzę przez laptopa czyli urządzenie, które hostuje serwer. Na Rpi nawet nie mogę wejść na serwer poprzez wpisywanie url w przeglądarce (http://192.168.0.24:8000/api/temperature)

pytający

unread,
Jun 30, 2023, 8:55:21 AM6/30/23
to
Serwer Django startuje poprzez wpisaniu komendy: python manage.py runserver localhost
Serwer na Rpi startuje uruchamiając skrypt server.py

Cezar

unread,
Jun 30, 2023, 8:56:16 AM6/30/23
to
uruchom serwer tak i zobacz czy jest roznica:

python3 manage.py runserver 0.0.0.0:8000


Cezar

unread,
Jun 30, 2023, 8:57:19 AM6/30/23
to
uruchom tak:
python manage.py runserver 0.0.0.0:8000


jak go uruchamiaz z parametrem localhost to jest dostępny tylko z localhost


pytający

unread,
Jun 30, 2023, 9:18:39 AM6/30/23
to
Uruchomiłem serwer używając komendy: python manage.py runserver 0.0.0.0:8000
Działa !

Dziękuje wszystkim za zaangażowanie i poświęcony czas.
Piotr
0 new messages