Мрежата от прашинки
Безжичната сензорна мрежа (WSN) е много малки възли, пръснати из сградата, полето или фабриката. Всеки мери и предава по радиото до базова станция (шлюз, gateway). Без кабели монтажът е евтин, площта е голяма и разширяването е лесно. Възелът има сензори, АЦП, микроконтролер, радио и захранване: батерия или energy harvesting (тема 20). Понякога има и актуатор: отваря клапан, включва аларма, насочва камера.
WSN прилича на мобилните ad hoc мрежи (MANET): и двете са без инфраструктура, с променлива топология, на батерии и в нелицензирани честоти. Разликите:
- WSN – много повече възли, по-малка консумация, симетричен ключ, целта е събиране на данни;
- MANET – по-висока скорост, по-голяма мобилност, публичен ключ, разпределени изчисления.
Трудностите на WSN са честотната лента, захранването, надеждността и сигурността, скъпите полеви тестове и неуеднаквените стандарти.
Топологиите са три основни:
- звезда – всички говорят с координатора;
- дърво;
- решетка (mesh) – всеки маршрутизатор препредава на съседите. Ако един отпадне, пакетът минава по друг път.
Сънят: защо батерията стига за години
Радиото е най-големият консуматор: около 25 mA, докато предава. Ако е будно постоянно, батерия от 2000 mAh стига за 3–4 дни. Затова възелът спи с няколко μA и се буди за десетки милисекунди. Работният цикъл е под 0,1 %.
Възелът е буден 60 ms на всеки 60 s, а в сън тегли 2 μA. Средният ток е 27 μA, а батерията от 2000 mAh стига за 8,46 години.
Колкото по-рядко, толкова по-дълго – до една граница
сън 2 μA таванът – само токът в сън
При събуждане веднъж в минута батерията стига за около 8 години. Ако се буди по-рядко, животът расте, но не безкрайно: над някакъв период токът в сън надделява и кривата опира в тавана (пунктира) – колкото би живяла батерията само в сън. Затова тези микроконтролери се борят за всеки микроампер в сън (тема 20). В реалността батерията сама се изтощава за 10–15 години, а тук това не е сметнато.
CSMA/CA: слушай, преди да говориш
Всички възли говорят на една честота. Ако двама предават наведнъж, сигналите се смесват и и двата пакета се губят. Безжичните мрежи не могат да чуят сблъсъка, докато предават, затова се опитват да го избегнат: CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance). Всеки възел изчаква случаен брой слотове и слуша. Ако каналът е свободен, говори. Ако някой е започнал, чака. Сблъсък има само ако двама изберат един и същ най-малък слот. При големи пакети има и RTS/CTS: първо се иска разрешение. Пак на MAC слоя е и управлението на съня.
Наведнъж искат да говорят 10. Успехът с прозорец 8, 32 и 128 слота е 48 / 83,9 / 95,1 %.
Колко често първият опит минава
прозорец 8 слота прозорец 32 слота прозорец 128 слота
С два възела и 8 слота почти всеки опит минава (сблъсък има в 1 от 8). С 20 възела и 8 слота минава едва всеки пети опит, а с 32 слота – около две трети. По-големият прозорец намалява сблъсъците, но средното чакане е по-дълго. Затова в 802.15.4 прозорецът се удвоява след всеки неуспех (binary exponential backoff).
ZigBee и 6LoWPAN
IEEE 802.15 са личните мрежи (WPAN), до около 10 m:
| Клас | Скорост | Пример |
|---|---|---|
| HR | > 20 Mbps | 802.15.3 |
| MR | ≈ 1 Mbps | Bluetooth (1–3 Mbps), 802.15.1 |
| LR | < 0,25 Mbps | 802.15.4: ZigBee, 6LoWPAN, Z-Wave, WirelessHART |
ZigBee са горните слоеве над 802.15.4 (PHY + MAC). Работи на 868 MHz (Европа), 915 MHz (САЩ) и 2,4 GHz (целия свят), до 250 kbit/s. Целта е години живот на батерията. Устройствата са FFD (пълнофункционални – всяка роля) и RFD (ограничени – говорят само с FFD). Ролите са три:
- координатор – създава мрежата;
- маршрутизатор;
- крайно устройство – най-евтиното.
Мрежата може да е звезда, дърво или mesh.
6LoWPAN носи IPv6 до най-малките възли, така че всеки датчик има свой интернет адрес. Пречката е размерът. IPv6 иска пакети поне 1280 B, а рамката на 802.15.4 е 127 B. От тях MAC заглавката взима 25 B, а криптирането AES-CCM-128 – още 21 B, и остават 81 B. Адаптационният слой прави две неща:
- компресия – заглавката IPv6 + UDP става от 48 на 6 B;
- фрагментация – режe големите пакети на рамки.
Препредаването става на каналния слой (mesh-under) или на IP (route-over).
Възелът праща 70 B. С компресия това са 1 рамки, а без нея – 2.
| Заглавка IPv6/UDP | Рамки | Байтове в ефира | |
|---|---|---|---|
| без компресия | 48 B | 2 | 254 |
| с компресия (6LoWPAN) | 6 B | 1 | 127 |
Типичното показание на сензор е 10–70 байта. С компресията се побира в една рамка, а без нея за 70 B трябват две. Всяка рамка значи още време с будно радио, т.е. по-къса батерия. Най-големият IPv6 пакет (1280 B) иска 17 рамки.
Самопроверка
1. Възел е активен 60 ms на минута при 25 mA и спи с 2 μA. Колко е средният ток?
D = 0,06/60 = 0,1 %: 25 mA · 0,001 + 0,002 mA ≈ 27 μA → батерия 2000 mAh стига за ~8 години.
2. Защо безжичните мрежи ползват CSMA/CA, а не CSMA/CD като Ethernet?
Радиото не може да слуша, докато предава, затова не открива сблъсъка – опитва се да го избегне със случайно изчакване и слушане преди предаване.
3. Колко байта полезни данни остават в рамка 802.15.4 с криптиране?
127 − 25 (MAC) − 21 (AES-CCM-128) = 81 B.
4. Каква е разликата между FFD и RFD?
FFD може всяка роля (координатор, маршрутизатор, крайно); RFD е само крайно устройство и говори само с FFD.
5. Какви проблеми решава адаптационният слой на 6LoWPAN?
Компресира заглавките (48 → 6 B) и фрагментира пакетите на IPv6 (MTU 1280 B) в рамки от 127 B.