Skip to content

Tamra-IoT/ThingsDriver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ThingsDriver

Unified Interoperable Driver for IoT Nodes (UIDI)

Build Status

Contents

  1. Why ThingsDriver?
  2. Quick start
  3. Citations
  4. About Us
  5. Copyright and Licenses

1. Why ThingsDriver

ThingsDriver is a new methodology in how we can govern IoT devices. When we connect a device such as a printer to the local personal computer (PC), the PC requires installing the printer driver to get the printer configurations. ThingsDriver adopts the same concept, where IoT devices in the thingsDriver architecture are extendable from the cloud, and the cloud needs the IoT devices driver to govern them. Looking at IoT devices as extendable components from the cloud can pave the way for a collaborative IoT environment.

2. Quick Start

Required Part

We developed this repository as a proof of concept to the Thingsdriver idea. The demo version runs over NodeMCU and Arduino UNO boards as an IoT node in addition to HiveMQ cloud, a public MQTT broker, as the cloud side.

  1. NodeMCU
  2. Arduino UNO
  3. Free broker on HiveMQ
  4. Some wires
  5. 5V-2A adapter
  6. USB 2.0 Cable Type A/B
  7. USB to Micro USB Cable wire

Download ThingsDriver repository

Use the command below to download the demo code using the command line interface, or click here to download the demo code as a zip file.

git clone https://github.com/Tamra-IoT/ThingsDriver.git

Install ThingsDriver Firmware on Arduino UNO Board

(Peripherals controller Firmware)

  1. Using the Arduino IDE, open the AVR code.
  2. Connect your Arduino board using the USB cable to your computer.
  3. Choose the right board and terminal from the tools menu from the menu bar. For the board, choose UNO and for the terminal, select the one that appears in your list COM3/COMx, and sometimes the list shows the connected board names.
  4. Upload the code to the connected board using the right arrow symbol on the up-left corner.
  5. Don't disconnect the board until you see "done uploading" down on the green bar.

Install ThingsDriver Firmware on NodeMCU Board.

(Gateway Firmware)

Follow the same step that you did to upload the code on the Arduino UNO board, but select the right board name, NodMCU, and the right port that will appear when you connect the NodMCU board to your computer.

Hint: If you did not use the Arduino IDE to upload codes on the NodMCU before, you have to add the NodMCU configuration on the Arduino IDE first. Follow this link here to add the NodeMCU configuration.

Connect The Two Boards as Shown Below

  • Arduino UNO board communicates serially with the NodMCU board.
  • Connect Arduino UNO to the power source using the 5V-2A adapter
  • Using the 5V pin on the Arduino UNO, connect The NodMCU power pin and Unify the ground of the boards by connecting the ground pins as shown in the image below.
Tamra Logo

3. Citations:

Kindly cite this paper in your research if it helps your work.

A. Elewah, W. M. Ibrahim, A. Rafıkl and K. Elgazzar, "ThingsDriver: A Unified Interoperable Driver for IoT Nodes," 2022 International Wireless Communications and Mobile Computing (IWCMC), 2022, pp. 877-882, doi: 10.1109/IWCMC55113.2022.9824989.

4. About Us:

Tamra is an incubated startup in the Ebni incubator. In 2018, Tamra won seed funding in the ICT track at the InnoEgypt program. Apart from the commercial side, one of the Co-founder is doing his Ph.D. degree in Ontario tech university at IoT lab. He developed ThingsDriver as a small gear on his thesis topic, Public Sensing.

5. Copyright and Licenses

Code released under the MIT license.


Tamra Logo Ontariotechu Logo IoT-Lab Logo

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published