SlideShare a Scribd company logo
1 of 16
Serial Data from Arduino to Raspberry Pi
to MySQL using CoAP Protocol
By Deligence Technologies
www.deligence.com
Getting Serial Data from Arduino to Raspberry Pi and saving
it in MySQL database & Explaining how to run CoAP server
on Raspberry Pi -
In this tutorial I'm going to tell you how we can get the sensor
data from Arduino Uno and sending it to the Raspberry pi
through UART. Mostly We are going to do two important things.
First we will use a CoAP server For making a GET request which
will run on raspberry pi and in our CoAP browser we will get the
DHT22 data immediately. And the second thing is we are going
to make a mysql database in raspberry pi to store the value of
DHT22 sensor.
Constrained Application Protocol (CoAP) is an Internet Application Protocol for constrained
devices. It enables those constrained devices to communicate with the wider Internet using
similar protocols. CoAP is designed for use between Devices on the same constrained
network, between Devices and general nodes on the Internet, and between Devices on
different constrained networks both joined by an Internet.
CoAP is designed to easily translate to HTTP for simplified integration with the web, while
also meeting specialized requirements such as multicast support, very low overhead, and
simplicity.
CoAP supports the basic methods of GET, POST, PUT, DELETE, which are easily mapped to
HTTP.
Now here above was the brief description of CoAP. As I told you that you will get a lot of
things about CoAP but as far as interfacing with real hardware is concerned there are very
less stuff. So that's why I am going to tell you about this CoAP server and how we can interact
with real hardware.
1. In this step we will tell you that how we can run a CoAP server in our raspberry pi.
txThings Tutorial :
In this tutorial, we will describe how to run a CoAP server on Raspberry Pi, and run the CoAP
client on a PC. The CoAP server and clients are implemented using txThings, which is a
Phyton implementation of CoAP.
ABOUT TXTHINGS
txThings - CoAP library for Twisted framework
txThings is a Python implementation of Constrained Application Protocol (CoAP):
http://tools.ietf.org/html/rfc7252
txThings is based on Twisted - asynchronous I/O framework and networking engine written
in Python.
http://twistedmatrix.com/
txThings uses MIT License (like Twisted itself).
http://opensource.org/licenses/mit-license.php
Copyright (c) 2012 Maciej Wasilak
http://sixpinetrees.blogspot.com/
txThings has the following features:
 Support for draft-ietf-core-coap-13 - including automatic piggyback/separate response
handling. No caching support.
 Support for draft-ietf-core-block-12 (no support for server initiative though - waiting for
the resolution)
 Limited support for RFC6690 (Core Link Format) - server only.
Other nice things:
 txThings works nicely on RaspberryPi
 txThings is compatible with Kivy - brilliant new Python GUI library (I'll post some examples
soon).
 txThings is fully asynchronous (thanks to twisted framework)
txThings is posted on Github. The easiest way to get it is to clone the repository to your local
machine using the command below:
git clone git://github.com/siskin/txThings.git
Library contains CoAP code (inside "iot" directory) and three examples:
server.py - CoAP server that starts on localhost, port 5683 and hosts several resources
client_GET.py - example client which performs GET request to localhost, port 5683
client_PUT.py - example client which performs PUT request to localhost, port 5683
Client_GET and client_PUT both use port 61616 - to use them simultaneously change port
number in one of the clients. Server will send blockwise responses for default settings. To use
txThings you need Python 2.7 with Twisted installed (I suggest using the latest Twisted
version, but older releases also work - tested with 11.1).
1. Install OS on Raspberry Pi (set the appropriate raspi-config for all,including ssh and
desktop boot)
2. Install setup tools for python (such as pip)
https://pip.pypa.io/en/stable/installing.html#install-pip
3. Install Twisted on Raspberry Pi
sudo apt-get install python-pip
pip install twisted==15.1.0
4. Install txThings on Raspberry Pi
pip install txThings
2. Now this is the time to move on Arduino. Here I've connected DHT22 sensor to
an arduino and our arduino is connected to our raspberry pi(which is working here
as an IOT gateway or server ) through USB cable to one of its USB port. But before
going to connect Arduino to our raspberry pi we have to put a Arduino snippet for
DHT22 interfacing to our arduino. Since we are using Raspberry pi remotely in
ubuntu.
Connect your arduino to your PC to upload this code (Arduino code). Now just
unplug your arduino from PC and connect it to your pi.
3. Now we need to install some of the things to get data in raspberry pi
First one is Python-serial and then python-mysqldb.
Now this URI we have to type in Mozilla Firefox -
caop://<Raspberry pi IP Address>:5683
For that we need to do a little modification in our server.py code which we got while
installing txThings.
You just check your server.py code and edit accordingly. Now we need to run our server.py
code. It'll take a little time.
Here, you can see the temperature and humidity in Copper on firefox.
Humidity Temperature and Heat Index
The Copper (Cu) CoAP user-agent is an add-on for the Firefox Web browser. It allows
browsing, bookmarking, and direct interaction with CoAP resources. Simply enter a CoAP URI
into the address bar.
For getting the data in our smartphone we need to install Aneska. At the end section of the
video you can see how we can get data in our smartphone.
Humidity and Temperature In Smartphone
The Second Part of this Project is creating a Database of DHT22 Data
For that you have to install Apache Mysql and PHP and then save data in phpmyadmin.
You can easily get about these installation in many links. So I'm not going to demonstrate
that. In short you have to set up a LAMP server in your raspberry pi. I am assuming you have
install these necessary things.
So Let's get started -
• Go to localhost/phpmyadmin or <pi IP address>/phpmyadmin (if you are using pi remotely)
• Create Database give it some name
• Then create table for that
• I have made 6 columns
• For getting the data in database from arduino serial out we have to write a small script in
pi.
This is the script(You can find all the files in our github page -
https://github.com/DeligenceTechnologies/Serial-Data-from-Arduino-to-Raspberry-Pi-to-
MySQL-using-CoAP-Protocol) for getting data in mysql datbase from arduino.
If I run this script I can see the updated data in database but if we want this thing
automatically let's say for every single minute then we have to edit crontab -e
All the process Regarding this project is explained in our video that you can see in the slide
15.
Arduino Interfacing with DHT22 and connected to Pi with USB
Arduino Connection with DHT22
We at Deligence Technologies, offer a range of Arduino Software Development Services
to turn your design into a fully functional system.
Deligence Technologies - your growing technology partner!
www.deligence.com/contact-us
Email : info@deligence.com
Phone : +91 9910130340
Serial Data from Arduino to Raspberry Pi to MySQL using CoAP Protocol

More Related Content

What's hot

BGP Multihoming Techniques
BGP Multihoming TechniquesBGP Multihoming Techniques
BGP Multihoming TechniquesAPNIC
 
Fluorescent probes
Fluorescent probesFluorescent probes
Fluorescent probesBOC Sciences
 
クラウド構築 勉強会やったのでまとめました
クラウド構築 勉強会やったのでまとめましたクラウド構築 勉強会やったのでまとめました
クラウド構築 勉強会やったのでまとめましたHiro Mura
 
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!Kohei Tokunaga
 
100 G超通信時代の安定した高品質な伝送インフラ構築づくり
100 G超通信時代の安定した高品質な伝送インフラ構築づくり100 G超通信時代の安定した高品質な伝送インフラ構築づくり
100 G超通信時代の安定した高品質な伝送インフラ構築づくりTomohiro Sakamoto(Onodera)
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向Yuya Rin
 
Introducing Peering LAN 2.0 at DE-CIX
Introducing Peering LAN 2.0 at DE-CIXIntroducing Peering LAN 2.0 at DE-CIX
Introducing Peering LAN 2.0 at DE-CIXMyNOG
 
ネットワーク通信入門
ネットワーク通信入門ネットワーク通信入門
ネットワーク通信入門Yuki Suga
 

What's hot (9)

Immunohistochemistry
ImmunohistochemistryImmunohistochemistry
Immunohistochemistry
 
BGP Multihoming Techniques
BGP Multihoming TechniquesBGP Multihoming Techniques
BGP Multihoming Techniques
 
Fluorescent probes
Fluorescent probesFluorescent probes
Fluorescent probes
 
クラウド構築 勉強会やったのでまとめました
クラウド構築 勉強会やったのでまとめましたクラウド構築 勉強会やったのでまとめました
クラウド構築 勉強会やったのでまとめました
 
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
 
100 G超通信時代の安定した高品質な伝送インフラ構築づくり
100 G超通信時代の安定した高品質な伝送インフラ構築づくり100 G超通信時代の安定した高品質な伝送インフラ構築づくり
100 G超通信時代の安定した高品質な伝送インフラ構築づくり
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向
 
Introducing Peering LAN 2.0 at DE-CIX
Introducing Peering LAN 2.0 at DE-CIXIntroducing Peering LAN 2.0 at DE-CIX
Introducing Peering LAN 2.0 at DE-CIX
 
ネットワーク通信入門
ネットワーク通信入門ネットワーク通信入門
ネットワーク通信入門
 

Similar to Serial Data from Arduino to Raspberry Pi to MySQL using CoAP Protocol

Extending Piwik At R7.com
Extending Piwik At R7.comExtending Piwik At R7.com
Extending Piwik At R7.comLeo Lorieri
 
Scale Apache with Nginx
Scale Apache with NginxScale Apache with Nginx
Scale Apache with NginxBud Siddhisena
 
maXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_MagazinemaXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_MagazineMax Kleiner
 
Project-make a public website server using raspberry pi
Project-make a public website server using raspberry piProject-make a public website server using raspberry pi
Project-make a public website server using raspberry piFahim Hossain
 
An introduction to workflow-based programming with Node-RED
An introduction to workflow-based programming with Node-REDAn introduction to workflow-based programming with Node-RED
An introduction to workflow-based programming with Node-REDBoris Adryan
 
Node-RED and Minecraft - CamJam September 2015
Node-RED and Minecraft - CamJam September 2015Node-RED and Minecraft - CamJam September 2015
Node-RED and Minecraft - CamJam September 2015Boris Adryan
 
Workshop For pycon13
Workshop For pycon13Workshop For pycon13
Workshop For pycon13Steven Pousty
 
Raspi_TOR_Access_Point_BenMoore
Raspi_TOR_Access_Point_BenMooreRaspi_TOR_Access_Point_BenMoore
Raspi_TOR_Access_Point_BenMooreBenjamin Moore
 
Maxbox starter18
Maxbox starter18Maxbox starter18
Maxbox starter18Max Kleiner
 
Final ProjectFinal Project Details Description Given a spec.docx
Final ProjectFinal Project Details Description  Given a spec.docxFinal ProjectFinal Project Details Description  Given a spec.docx
Final ProjectFinal Project Details Description Given a spec.docxAKHIL969626
 
maXbox starter30 Web of Things
maXbox starter30 Web of ThingsmaXbox starter30 Web of Things
maXbox starter30 Web of ThingsMax Kleiner
 
Python for IoT, A return of experience
Python for IoT, A return of experiencePython for IoT, A return of experience
Python for IoT, A return of experienceAlexandre Abadie
 
Using Python for IoT: a return of experience, Alexandre Abadie
Using Python for IoT: a return of experience, Alexandre AbadieUsing Python for IoT: a return of experience, Alexandre Abadie
Using Python for IoT: a return of experience, Alexandre AbadiePôle Systematic Paris-Region
 
Node-RED and getting started on the Internet of Things
Node-RED and getting started on the Internet of ThingsNode-RED and getting started on the Internet of Things
Node-RED and getting started on the Internet of ThingsBoris Adryan
 
IoT with OpenPicus Flyport
IoT with OpenPicus FlyportIoT with OpenPicus Flyport
IoT with OpenPicus FlyportIonela
 
Raspberry pi home automation idea
Raspberry pi home automation ideaRaspberry pi home automation idea
Raspberry pi home automation ideashashi gautam
 
maXbox Arduino Tutorial
maXbox Arduino TutorialmaXbox Arduino Tutorial
maXbox Arduino TutorialMax Kleiner
 
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdfJayanthi Kannan MK
 
Automated Deployment using Open Source
Automated Deployment using Open SourceAutomated Deployment using Open Source
Automated Deployment using Open Sourceduskglow
 

Similar to Serial Data from Arduino to Raspberry Pi to MySQL using CoAP Protocol (20)

Extending Piwik At R7.com
Extending Piwik At R7.comExtending Piwik At R7.com
Extending Piwik At R7.com
 
Scale Apache with Nginx
Scale Apache with NginxScale Apache with Nginx
Scale Apache with Nginx
 
maXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_MagazinemaXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_Magazine
 
Project-make a public website server using raspberry pi
Project-make a public website server using raspberry piProject-make a public website server using raspberry pi
Project-make a public website server using raspberry pi
 
An introduction to workflow-based programming with Node-RED
An introduction to workflow-based programming with Node-REDAn introduction to workflow-based programming with Node-RED
An introduction to workflow-based programming with Node-RED
 
Node-RED and Minecraft - CamJam September 2015
Node-RED and Minecraft - CamJam September 2015Node-RED and Minecraft - CamJam September 2015
Node-RED and Minecraft - CamJam September 2015
 
Workshop For pycon13
Workshop For pycon13Workshop For pycon13
Workshop For pycon13
 
Raspi_TOR_Access_Point_BenMoore
Raspi_TOR_Access_Point_BenMooreRaspi_TOR_Access_Point_BenMoore
Raspi_TOR_Access_Point_BenMoore
 
Maxbox starter18
Maxbox starter18Maxbox starter18
Maxbox starter18
 
Final ProjectFinal Project Details Description Given a spec.docx
Final ProjectFinal Project Details Description  Given a spec.docxFinal ProjectFinal Project Details Description  Given a spec.docx
Final ProjectFinal Project Details Description Given a spec.docx
 
maXbox starter30 Web of Things
maXbox starter30 Web of ThingsmaXbox starter30 Web of Things
maXbox starter30 Web of Things
 
Python for IoT, A return of experience
Python for IoT, A return of experiencePython for IoT, A return of experience
Python for IoT, A return of experience
 
Using Python for IoT: a return of experience, Alexandre Abadie
Using Python for IoT: a return of experience, Alexandre AbadieUsing Python for IoT: a return of experience, Alexandre Abadie
Using Python for IoT: a return of experience, Alexandre Abadie
 
Triple Blitz Strike
Triple Blitz StrikeTriple Blitz Strike
Triple Blitz Strike
 
Node-RED and getting started on the Internet of Things
Node-RED and getting started on the Internet of ThingsNode-RED and getting started on the Internet of Things
Node-RED and getting started on the Internet of Things
 
IoT with OpenPicus Flyport
IoT with OpenPicus FlyportIoT with OpenPicus Flyport
IoT with OpenPicus Flyport
 
Raspberry pi home automation idea
Raspberry pi home automation ideaRaspberry pi home automation idea
Raspberry pi home automation idea
 
maXbox Arduino Tutorial
maXbox Arduino TutorialmaXbox Arduino Tutorial
maXbox Arduino Tutorial
 
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
5 IOT MODULE 5 RaspberryPi Programming using Python.pdf
 
Automated Deployment using Open Source
Automated Deployment using Open SourceAutomated Deployment using Open Source
Automated Deployment using Open Source
 

More from Sanjay Kumar

Mobile app development
Mobile app developmentMobile app development
Mobile app developmentSanjay Kumar
 
Accelerated Mobile Pages (AMP)
Accelerated Mobile Pages (AMP)Accelerated Mobile Pages (AMP)
Accelerated Mobile Pages (AMP)Sanjay Kumar
 
Attendance System using ESP8266(Wi-Fi) with MySQL
Attendance System using ESP8266(Wi-Fi) with MySQLAttendance System using ESP8266(Wi-Fi) with MySQL
Attendance System using ESP8266(Wi-Fi) with MySQLSanjay Kumar
 
Attendance system using MYSQL with Raspberry pi and RFID-RC522
Attendance system using MYSQL with Raspberry pi and RFID-RC522Attendance system using MYSQL with Raspberry pi and RFID-RC522
Attendance system using MYSQL with Raspberry pi and RFID-RC522Sanjay Kumar
 
Arduino to Control Bulbs using Web App
Arduino to Control Bulbs using Web AppArduino to Control Bulbs using Web App
Arduino to Control Bulbs using Web AppSanjay Kumar
 
Bulb Control using Web App with Raspberry Pi
Bulb Control using Web App with Raspberry Pi Bulb Control using Web App with Raspberry Pi
Bulb Control using Web App with Raspberry Pi Sanjay Kumar
 
Obstacle detection Robot using Ultrasonic Sensor and Arduino UNO
Obstacle detection Robot using Ultrasonic Sensor and Arduino UNOObstacle detection Robot using Ultrasonic Sensor and Arduino UNO
Obstacle detection Robot using Ultrasonic Sensor and Arduino UNOSanjay Kumar
 
Arduino Interface LM35 MQTT Using UART
Arduino Interface LM35 MQTT Using UARTArduino Interface LM35 MQTT Using UART
Arduino Interface LM35 MQTT Using UARTSanjay Kumar
 
Arduino Interface with MySQL for Storing RFID Access Details
Arduino Interface with MySQL for Storing RFID Access DetailsArduino Interface with MySQL for Storing RFID Access Details
Arduino Interface with MySQL for Storing RFID Access DetailsSanjay Kumar
 
Rain Drop Sensor using Arduino!
Rain Drop Sensor using Arduino!Rain Drop Sensor using Arduino!
Rain Drop Sensor using Arduino!Sanjay Kumar
 
Arduino Programming Software Development
Arduino Programming Software DevelopmentArduino Programming Software Development
Arduino Programming Software DevelopmentSanjay Kumar
 
Embedded Software Development
Embedded Software DevelopmentEmbedded Software Development
Embedded Software DevelopmentSanjay Kumar
 
Ionic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkIonic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkSanjay Kumar
 
Internet of Things - IOT
Internet of Things - IOTInternet of Things - IOT
Internet of Things - IOTSanjay Kumar
 
Meteor Mobile App Development
Meteor Mobile App DevelopmentMeteor Mobile App Development
Meteor Mobile App DevelopmentSanjay Kumar
 
Digital Marketing Strategy
Digital Marketing StrategyDigital Marketing Strategy
Digital Marketing StrategySanjay Kumar
 
Web Application Development
Web Application DevelopmentWeb Application Development
Web Application DevelopmentSanjay Kumar
 
Joomla Website Development Company
Joomla Website Development CompanyJoomla Website Development Company
Joomla Website Development CompanySanjay Kumar
 
Meteor js App Development
Meteor js App DevelopmentMeteor js App Development
Meteor js App DevelopmentSanjay Kumar
 

More from Sanjay Kumar (19)

Mobile app development
Mobile app developmentMobile app development
Mobile app development
 
Accelerated Mobile Pages (AMP)
Accelerated Mobile Pages (AMP)Accelerated Mobile Pages (AMP)
Accelerated Mobile Pages (AMP)
 
Attendance System using ESP8266(Wi-Fi) with MySQL
Attendance System using ESP8266(Wi-Fi) with MySQLAttendance System using ESP8266(Wi-Fi) with MySQL
Attendance System using ESP8266(Wi-Fi) with MySQL
 
Attendance system using MYSQL with Raspberry pi and RFID-RC522
Attendance system using MYSQL with Raspberry pi and RFID-RC522Attendance system using MYSQL with Raspberry pi and RFID-RC522
Attendance system using MYSQL with Raspberry pi and RFID-RC522
 
Arduino to Control Bulbs using Web App
Arduino to Control Bulbs using Web AppArduino to Control Bulbs using Web App
Arduino to Control Bulbs using Web App
 
Bulb Control using Web App with Raspberry Pi
Bulb Control using Web App with Raspberry Pi Bulb Control using Web App with Raspberry Pi
Bulb Control using Web App with Raspberry Pi
 
Obstacle detection Robot using Ultrasonic Sensor and Arduino UNO
Obstacle detection Robot using Ultrasonic Sensor and Arduino UNOObstacle detection Robot using Ultrasonic Sensor and Arduino UNO
Obstacle detection Robot using Ultrasonic Sensor and Arduino UNO
 
Arduino Interface LM35 MQTT Using UART
Arduino Interface LM35 MQTT Using UARTArduino Interface LM35 MQTT Using UART
Arduino Interface LM35 MQTT Using UART
 
Arduino Interface with MySQL for Storing RFID Access Details
Arduino Interface with MySQL for Storing RFID Access DetailsArduino Interface with MySQL for Storing RFID Access Details
Arduino Interface with MySQL for Storing RFID Access Details
 
Rain Drop Sensor using Arduino!
Rain Drop Sensor using Arduino!Rain Drop Sensor using Arduino!
Rain Drop Sensor using Arduino!
 
Arduino Programming Software Development
Arduino Programming Software DevelopmentArduino Programming Software Development
Arduino Programming Software Development
 
Embedded Software Development
Embedded Software DevelopmentEmbedded Software Development
Embedded Software Development
 
Ionic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkIonic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application Framework
 
Internet of Things - IOT
Internet of Things - IOTInternet of Things - IOT
Internet of Things - IOT
 
Meteor Mobile App Development
Meteor Mobile App DevelopmentMeteor Mobile App Development
Meteor Mobile App Development
 
Digital Marketing Strategy
Digital Marketing StrategyDigital Marketing Strategy
Digital Marketing Strategy
 
Web Application Development
Web Application DevelopmentWeb Application Development
Web Application Development
 
Joomla Website Development Company
Joomla Website Development CompanyJoomla Website Development Company
Joomla Website Development Company
 
Meteor js App Development
Meteor js App DevelopmentMeteor js App Development
Meteor js App Development
 

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Serial Data from Arduino to Raspberry Pi to MySQL using CoAP Protocol

  • 1. Serial Data from Arduino to Raspberry Pi to MySQL using CoAP Protocol By Deligence Technologies www.deligence.com
  • 2. Getting Serial Data from Arduino to Raspberry Pi and saving it in MySQL database & Explaining how to run CoAP server on Raspberry Pi - In this tutorial I'm going to tell you how we can get the sensor data from Arduino Uno and sending it to the Raspberry pi through UART. Mostly We are going to do two important things. First we will use a CoAP server For making a GET request which will run on raspberry pi and in our CoAP browser we will get the DHT22 data immediately. And the second thing is we are going to make a mysql database in raspberry pi to store the value of DHT22 sensor.
  • 3. Constrained Application Protocol (CoAP) is an Internet Application Protocol for constrained devices. It enables those constrained devices to communicate with the wider Internet using similar protocols. CoAP is designed for use between Devices on the same constrained network, between Devices and general nodes on the Internet, and between Devices on different constrained networks both joined by an Internet. CoAP is designed to easily translate to HTTP for simplified integration with the web, while also meeting specialized requirements such as multicast support, very low overhead, and simplicity. CoAP supports the basic methods of GET, POST, PUT, DELETE, which are easily mapped to HTTP. Now here above was the brief description of CoAP. As I told you that you will get a lot of things about CoAP but as far as interfacing with real hardware is concerned there are very less stuff. So that's why I am going to tell you about this CoAP server and how we can interact with real hardware.
  • 4. 1. In this step we will tell you that how we can run a CoAP server in our raspberry pi. txThings Tutorial : In this tutorial, we will describe how to run a CoAP server on Raspberry Pi, and run the CoAP client on a PC. The CoAP server and clients are implemented using txThings, which is a Phyton implementation of CoAP. ABOUT TXTHINGS txThings - CoAP library for Twisted framework txThings is a Python implementation of Constrained Application Protocol (CoAP): http://tools.ietf.org/html/rfc7252 txThings is based on Twisted - asynchronous I/O framework and networking engine written in Python. http://twistedmatrix.com/ txThings uses MIT License (like Twisted itself). http://opensource.org/licenses/mit-license.php Copyright (c) 2012 Maciej Wasilak http://sixpinetrees.blogspot.com/
  • 5. txThings has the following features:  Support for draft-ietf-core-coap-13 - including automatic piggyback/separate response handling. No caching support.  Support for draft-ietf-core-block-12 (no support for server initiative though - waiting for the resolution)  Limited support for RFC6690 (Core Link Format) - server only. Other nice things:  txThings works nicely on RaspberryPi  txThings is compatible with Kivy - brilliant new Python GUI library (I'll post some examples soon).  txThings is fully asynchronous (thanks to twisted framework)
  • 6. txThings is posted on Github. The easiest way to get it is to clone the repository to your local machine using the command below: git clone git://github.com/siskin/txThings.git Library contains CoAP code (inside "iot" directory) and three examples: server.py - CoAP server that starts on localhost, port 5683 and hosts several resources client_GET.py - example client which performs GET request to localhost, port 5683 client_PUT.py - example client which performs PUT request to localhost, port 5683 Client_GET and client_PUT both use port 61616 - to use them simultaneously change port number in one of the clients. Server will send blockwise responses for default settings. To use txThings you need Python 2.7 with Twisted installed (I suggest using the latest Twisted version, but older releases also work - tested with 11.1).
  • 7. 1. Install OS on Raspberry Pi (set the appropriate raspi-config for all,including ssh and desktop boot) 2. Install setup tools for python (such as pip) https://pip.pypa.io/en/stable/installing.html#install-pip 3. Install Twisted on Raspberry Pi sudo apt-get install python-pip pip install twisted==15.1.0 4. Install txThings on Raspberry Pi pip install txThings
  • 8. 2. Now this is the time to move on Arduino. Here I've connected DHT22 sensor to an arduino and our arduino is connected to our raspberry pi(which is working here as an IOT gateway or server ) through USB cable to one of its USB port. But before going to connect Arduino to our raspberry pi we have to put a Arduino snippet for DHT22 interfacing to our arduino. Since we are using Raspberry pi remotely in ubuntu. Connect your arduino to your PC to upload this code (Arduino code). Now just unplug your arduino from PC and connect it to your pi. 3. Now we need to install some of the things to get data in raspberry pi First one is Python-serial and then python-mysqldb.
  • 9. Now this URI we have to type in Mozilla Firefox - caop://<Raspberry pi IP Address>:5683 For that we need to do a little modification in our server.py code which we got while installing txThings. You just check your server.py code and edit accordingly. Now we need to run our server.py code. It'll take a little time. Here, you can see the temperature and humidity in Copper on firefox. Humidity Temperature and Heat Index
  • 10. The Copper (Cu) CoAP user-agent is an add-on for the Firefox Web browser. It allows browsing, bookmarking, and direct interaction with CoAP resources. Simply enter a CoAP URI into the address bar.
  • 11. For getting the data in our smartphone we need to install Aneska. At the end section of the video you can see how we can get data in our smartphone. Humidity and Temperature In Smartphone
  • 12. The Second Part of this Project is creating a Database of DHT22 Data For that you have to install Apache Mysql and PHP and then save data in phpmyadmin. You can easily get about these installation in many links. So I'm not going to demonstrate that. In short you have to set up a LAMP server in your raspberry pi. I am assuming you have install these necessary things. So Let's get started - • Go to localhost/phpmyadmin or <pi IP address>/phpmyadmin (if you are using pi remotely) • Create Database give it some name • Then create table for that • I have made 6 columns • For getting the data in database from arduino serial out we have to write a small script in pi. This is the script(You can find all the files in our github page - https://github.com/DeligenceTechnologies/Serial-Data-from-Arduino-to-Raspberry-Pi-to- MySQL-using-CoAP-Protocol) for getting data in mysql datbase from arduino. If I run this script I can see the updated data in database but if we want this thing automatically let's say for every single minute then we have to edit crontab -e All the process Regarding this project is explained in our video that you can see in the slide 15.
  • 13. Arduino Interfacing with DHT22 and connected to Pi with USB
  • 15. We at Deligence Technologies, offer a range of Arduino Software Development Services to turn your design into a fully functional system. Deligence Technologies - your growing technology partner! www.deligence.com/contact-us Email : info@deligence.com Phone : +91 9910130340