-
Data: 2013-03-17 19:34:36
Temat: Re: 1wire - nie po skretce?!
Od: BartekK <s...@d...org> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2013-03-17 19:21, Budyń pisze:
> W dniu niedziela, 17 marca 2013 16:49:52 UTC+1 użytkownik Mario napisał:
>> Przykłady były już podane - mała płytka z prockiem i interfejsem RS485.
>
> ja, jak juz napisałem, nie znam sie, amatorsko sobie zestawiłem taki systemik -moze
ja pytam o jakies tajemne rzeczy :-)
> Googlam ze RS485 to standard transmisji zatem ta mala płytka z prockiem ma robic za
host czy być przy każdym czujniku temperatury (jakim?)?
RS485 to sprzętowy standard magistrali szeregowej, gdzie do 2 drutów
(jednej pary, symetrycznej) podłącza się wiele urządzeń, przy czym
nadawać może w jednym momencie - tylko jedno.
Takie płytki z prockami muszą być przy każdym czujniku, oraz musi być
interfejs (płytka pośrednicząca-dopasowująca) przy komputerze, by
zamienić rs232 na tą magistralę rs485.
Ponieważ na magistrali nie może być bałaganu i równoczesnego nadawania,
a system ma być prosty, to jedno z urządzeń musi być "masterem" - np
komputer. Sprzętowo nie różni się niczym, ale programowo - to on rządzi.
Software mikrokontrolerka na każdej z płytek z czujnikiem jest prosty:
- co jakiś czas zmierz temperaturę (np z czujnika 1wire, co już znasz,
ignorując jego nr-mac, bo jest tylko 1 czujnik przy danym procesorze),
sprawdź crc pomiaru, jak dobre - to trzymaj pomiar w zmiennej-buforze T
- gdy zostanie odebrany bajt z interfejsu szeregowego - porównaj go ze
swoim adresem sieciowym (numerem). Jeśli odebrany bajt = numer,
odpowiedz wysyłając swój numer oraz zawartość zmiennej T. Jeśli nie swój
numer - zignoruj odebrane dane przez kolejne X czasu (żeby nie było
problemu, że inny czujnik odpowie taką temperaturą, która akurat jest
równa naszemu numerowi)
Software komputera będącego masterem jest jeszcze prostsze:
- odpytuj po kolei (z opóźnieniem X + 1) wszystkie czujniki od 0 do 99,
zapisując odpowiedzi, lub brak odpowiedzi (brak czujnika o takim nr).
- w następnej pętli odpytuj tylko obecne czujniki (by nie czekać
niepotrzebnie na odpowiedzi czujników, których nie ma), a na wszelki
wypadek co np 256 pętli odczytu - odpytuj wszystkie, odświeżając listę
obecnych/nieobecnych (jakby jakiś czujnik został na chwilę odłączony, to
sam wróci do działania).
--
| Bartłomiej Kuźniewski
| s...@d...org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338
173
Następne wpisy z tego wątku
- 17.03.13 19:50 Mario
- 17.03.13 20:02 J.F.
- 17.03.13 20:13 Mario
- 17.03.13 20:30 Budyń
- 17.03.13 22:37 Mario
- 18.03.13 22:10 John Kołalsky
- 18.03.13 22:20 AlexY
- 20.03.13 21:03 John Kołalsky
- 20.03.13 21:35 AlexY
- 20.03.13 23:10 John Kołalsky
- 20.03.13 23:56 BartekK
- 21.03.13 00:29 AlexY
- 21.03.13 09:14 Marek
- 21.03.13 20:58 John Kołalsky
- 21.03.13 20:58 John Kołalsky
Najnowsze wątki z tej grupy
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=