Из самог назива IoT (Internet of Things) видљиво је да Интернет представља основну комуникациону инфраструктуру код ових уређаја. IoT не подразумева само изоловане уређаје, који директно комуникцирају преко Интернета. Иза појам IoT могу да се крију конгломерати уређаја повезаних у различите мреже. Ове мреже се најчешће означавају као сензорске мреже. Начелно уређаји у оквиру сензорских мрежа могу да се повезују жично и бежично. То подразумева коришћење разних комуникационих протокола. Oви протоколи су намењени да обезбеде повезивање сензорских модула са приступним тачкама на Интернет. Или повезивање сензорских модула унутар сензорске мреже.
С друге стране сваки сензорски модул се у принципу састоји из једног рачунарско – комуникационог блока и једног или више сензора. За повезивање сензора са рачунарско – комуникационим блоком неопходно је коришћење одговарајућих интерфејса. Сходно томе у овој секцији ће се представити главни комуникациони протоколи коришћени у оквиру сензорским мрежа и IoT уређаја.
Хардверски интерфејси
У развоју микроконтролерских система најчешће се користе протоколи као што су UART (Universal Asynchronous Reception and Transmission), SPI (Serial Peripheral Interface) и I2C (Inter – integrated – circuit). На страници UART vs. I2C vs. SPI – Communication Protocols and Uses могу се наћи одговарајуће информације. Укратко је описан начин рада сваког од ових протокола и извршено међусоно поређење. Сличне информације се могу наћи и на страници – I2C vs. SPI vs. UART – Introduction and Comparision of their Similarities ans Differences.
I2C
Поред UART и SPI, I2C представља уобичајени хардверски интерфејс који се користи код микроконтролерских система. Путем овог интерфејса може да се повеже више пратећих (slave) уређаја на један главни (master) уређај. Такође, може постојати више главних уређаја који контролишу један или више пратећих уређаја. За размену података између уређаја користе се само две линије:
- SDA (Serial Data) – Линија преко које се шаљу и примају подаци;
- SCL (Serial Clock) – Линија којом се преноси сигнал такта.
I2C је серијски комуникациони протокол, јер се подаци преносе бит по бит путем једне жице (SDA линија). Истовремено ради се о синхроној комуникацији, јер су битови синхронисани са сигналом такта који размењују главни и пратећи уређај. Сигнал такта је увек контролисан од стране главног уређаја. У табели су приказане основне карактеристике I2C протокола.
Карактеристика | Опис |
Број жица | 2 |
Максимална брзина | Стандардни режим = 100kbs |
| Брзи режим = 400kps |
| Врло брзи режим = 3.4Mps |
| Ултра брзи режим = 5Mbs |
Синхрони или асинхрони | Синхрони |
Серијски или паралелни | Серијски |
Максималан број главних уређаја | Неограничен |
Максималан број пратећих уређаја | 1008 |
Код овог протокола подаци се преносе у оквиру порука (messages). Поруке су подељене у оквире (frames) података. Свака порука садржи адресни оквир који садржи бинарну адресу пратећег уређаја и један или више оквира података који се преносе. Порука такође садржи и START и STOP ознаку, read/write битове и ACK/NACK битове између савког оквира података.