Skip to content
СА · Тема 12 · Телефонът в джоба

Сензорите вкъщи си говорят – и спят 99,9 % от времето

Датчикът на вратата, термометърът в спалнята и щепселът с Wi-Fi не са вързани с кабел, а батерията на датчика стига за години. Номерът е, че той почти винаги спи, събужда се за части от секундата, казва няколко байта и пак заспива. В урока смятаме колко живее батерията, какво става, когато десет датчика заговорят наведнъж, и как IPv6 се побира в рамка от 127 байта.

≈ 4 мин четене∿ 3 живи уредаСамопроверка: 5 въпроса

Мрежата от прашинки ​

Безжичната сензорна мрежа (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 години.

Живот на батерията
Колкото по-рядко, толкова по-дълго – до една граница
1 s10 s100 s1000 s050100колко често се събужда (период)живот, години
сън 2 μA таванът – само токът в сън
Фигура 1.

При събуждане веднъж в минута батерията стига за около 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 %.

Сблъсъци при CSMA/CA
Колко често първият опит минава
5101520050100възли, които говорят наведнъжуспешен опит, %10
прозорец 8 слота прозорец 32 слота прозорец 128 слота
Фигура 2.

С два възела и 8 слота почти всеки опит минава (сблъсък има в 1 от 8). С 20 възела и 8 слота минава едва всеки пети опит, а с 32 слота – около две трети. По-големият прозорец намалява сблъсъците, но средното чакане е по-дълго. Затова в 802.15.4 прозорецът се удвоява след всеки неуспех (binary exponential backoff).

ZigBee и 6LoWPAN ​

IEEE 802.15 са личните мрежи (WPAN), до около 10 m:

КласСкоростПример
HR> 20 Mbps802.15.3
MR≈ 1 MbpsBluetooth (1–3 Mbps), 802.15.1
LR< 0,25 Mbps802.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 в рамки от 127 байта
Заглавка IPv6/UDPРамкиБайтове в ефира
без компресия48 B2254
с компресия (6LoWPAN)6 B1127
Фигура 3.

Типичното показание на сензор е 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.