Remoteesp Controller Project: Nauman Shakir
Remoteesp Controller Project: Nauman Shakir
Remoteesp Controller Project: Nauman Shakir
Nauman Shakir
https://NaumanShakir.com
https://3STechLabs.com
1
Overview
This preliminary report aims at defining an architecture for RemoteESP Controller Project.
The goals of this report are mentioned below
Goals
1. Wireless Connectivity.
2. WebPortal
3. High Availability, fail-safe and commercial product.
2
Specifications
The system is divided into 4 different layers which should communicate with each other in
real time.
Layers
● Hardware - Microcontroller
● Processing Layer - Server {Ubuntu Server 18.04(recommended)}
● Transport Layer - MQTT(communication protocol) and REST API
● Network Layer - GPRS
3
Architecture
The complete product has
● Sensor Node
● Web Admin Panel
A complete System is referred to as a Product in this report.
Software Architecture
Multiple Nodes management
The nodes should have unique identifiers which are the MAC address numbers of ESP32
which will be used to uniquely identify each Node.
SensorNodeID;[DataString]
● SensorNodeID is a unique ID of Sensor Node
● [DataString] contains the sensor value(Switch Status)
The communication is done over WiFi mesh and data is shared to the Server(and the
webapp) over MQTT..
4
What is MQTT?
Take an example of a system in which there are hundreds of people having smart bands
that can display information of a person’s surroundings. And then there are Android, iOS
and Windows devices that can be used to monitor smart bands to get a defined set of
parameters for bands.
So in a scenario where there are mixed types of devices including hardware platforms, the
best communication protocol is MQTT.
It can handle two-way and parallel communication and the number of devices that can be
connected and communicate via MQTT are limitless, the only limit is server resources.
MQTT is also known as pub/sub protocol.
Hence the protocol of choice here is MQTT.
5
Web App
The webapp will be made using AngularJS and the backend will be made on NodeJS.
● Dashboard
○ Graphs and Sensor’s data
● Device Management
○ Device ID, Type, Name Settings
○ Device linkage to a specific User
● User’s Management
○ Users creation, deletion
○ User roles(Basic, Admin)
● Device Statistics
○ Device Types
○ Assigned Users
○ Last update status
6
From the picture above you can see that all of the services like backend, frontend and
database etc are running in separate containers allowing a smooth delivery pipeline.
7
(For a detailed look, please open the image file of above diagram)
8
9
10
Milestones Breakdown
1. Sensor Node Design - M
ilestone 1 $350
a. {ESP32 Based}
b. Hardware and Firmware + Setup Document
c. Breadboard Based POC
d. Development Time 12 Days
2. Sensor Node Design - M
ilestone 2 $300
a. {Production Ready; Can be used Commercially}
b. Circuit Diagram, PCB and Components Selection for Commercial Product
c. Single Board with all components integrated
d. Can be mass-manufactured from JLPCB or from any vendor of your choice
e. Development time 15 Days
3. Server Configuration - Milestone 3 $50
a. {We will use our company’s server for testing}
b. MQTT Broker configuration, NodeRED, CapRover, Network configs
c. Development Time 4 Days
4. WebApp Development - M
ilestone 5 $600
a. {Production Ready}
b. Backend+Frontend
c. WebServer and other related things
d. Development Time 15 Days
5. Casing Design - Milestone 7 $240
a. Casing design of sensor nodes and Gateway which could be 3D Printed
b. Design time 5 Days
Maximum Development time 20-30 Days. Few milestones can be started in parallel to save
time. We will be following project management techniques and will implement CI/CD for
smooth delivery.
11
● We will not ship anything physically unless otherwise decided, instead, you will be
provided with a setup document with completion of each milestone which will be
easy to follow and will contain all of the necessary information.
● The client will bear the R&D cost(components for single nodes and their shipments
to the company). Companies will try to source as many components as possible
from local sources but in case of some specific sensor/actuator unavailability, the
company will ask the client to ship that components to the company’s address via
amazon.
● Client will bear all of the shipment costs.
● {Production Ready; Can be used Commercially} milestones are the ones that can be
used in a commercial environment.
● Software Deployment
a. Software deployment costs like server costs, server management costs,
deployments and other related things will be managed by the company and
the company's launched AWS servers will be used during all the development
cycle
b. Once the development completes, the server charges for post development
will be paid by the client. Clients can use their own servers or can ask us to
provide managed services which will cost a few dollars a month(which covers
AWS running costs and management costs).
c. The Managed hosting cost breakdown inRemoteESP Controller Project case is
given below[Only applicable in testing for this project]
■ Ubuntu Server 18.04 t3a.medium(2 vCPUs and 4GB RAM) $32.07
■ Elastic IP(a static IP Address for server) $9.35
■ Management Charges $13.47
■ Total per month cost $54.89
d. If you want the server to be transferred to your account, please make a valid
AWS Account and we will transfer all the required services to your account
once the development finishes. The transfer will cost $250 and 5 days of
time. In this case we will not be responsible, in any way, for managing the
services running on your server.
12
● Hardware Development is divided into two parts, the milestones list only covers the
first part and the second parts will be decided as we make progress with the
development. The parts are given below
a. {Only Prototype; Not Production Ready for Commercial UseCase}
milestones(if any) are the ones that can not be used in commercial
environments and are only the prototype(only one unit of all the nodes).
These are for testing purposes and can be used by the client for testing the
functionalities. (Breadboard Based Design)
b. Prototype 2 - PCB Based Design; Production Ready; Mass-Manufacturable.
c. After Prototype 2 the client can use design files to get manufacturing services
himself or can ask the company to deal with the large-scale manufacturing.
d. There are few milestones with overlapping development timelines and will be
catered in that way. The time breakdown given in Milestones Breakdown
time is approximately the maximum time that this project will take.
e. The 3D casing design is something that will be finalized at the end of the
project because it depends upon the final size of the circuit.
f. 3STechLabs will provide all the files necessary for the
mass-productionRemoteESP Controller Project. If you want 3STechLabs to
handle mass-production for you, we will charge for that else we will let you
know the trusted vendors that you can contact and can get things
manufactured on your own.
https://naumanshakir3s.typeform.com/to/jZJlJP
13
Profile
Name: Nauman Shakir
Company: 3STechLabs
Designation: Founder and Program Manager
Email Address: NaumanShakir3S@gmail.com
Portfolio: https://NaumanShakir.com
I’m a Full-Stack IoT Developer and have done more than 150 hardware
projects and running an IoT and Hardware Design House
https://3STechLabs.com
https://facebook.com/3STechLabs
https://Linkedin.com/company/3STechLabs
Freelancing Profiles
https://www.fiverr.com/naumanshakir
https://www.upwork.com/fl/naumanshakir3s