Remoteesp Controller Project: Nauman Shakir

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

 

  

RemoteESP Controller Project 


Preliminary Report V1 
16.09.2020 
─ 

Nauman Shakir 
https://NaumanShakir.com 
https://3STechLabs.com 
 

 

 

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. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

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 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

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.. 
 

Web Server Integration and WebApp 


The communication should ideally be done using MQTT because of its smaller data packets 
and fast response.  
The data will be stored in the database present on the Server. I will use my company’s 
server for Broker Configuration and WebApp hosting. 
 
 
 
 
 
 
 

 

 

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. 

 

 

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 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 

 

 

Management and CI/CD Pipeline 


 
The developers from my team will be working on Hardware, Firmware, Backend, Frontend 
and apps simultaneously and for modularity we will dockerize different components of the 
app. 
For Continuous Integration and Delivery we will be using CapRover running on a bare metal 
Ubuntu 18.04 instance and each component of the project’s github repository will be linked 
to the respective Containers running in the Caprover. It will allow fully-automated delivery. 
We will use our own company’s production server running on AWS for testing and delivery 
during the development time. After that we can transfer the files to your own AWS and 
details of migration are mentioned in the Terms and Condition section of this report. 
My automation engineer will work on this. 
 

 
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. 
 
 

 
 

 

 

3STechLabs’ CI/CD Standard Pipeline 


Below is our well-tested CI/CD Pipeline for project management and delivery. This has been 
proven to work for our 10+ Full-Stack IoT Projects and Products. 
 

 
(For a detailed look, please open the image file of above diagram) 

 
 
 

 

 

 
 
 

 
 
 
 
 
 
 
 

 

 

Questions and Their Answers 


1. How much of the web and server integration would you do? We can develop a 
simple platform but need to understand what would be in your scope  
● We can do almost everything related to integrations whether it is something running 
on cloud or on a local computer. 
● As far as webapp is concerned, I do have a web developer who will make a simple 
webapp with a very basic set of features which are listed in the WebApp section of 
this report. We can always add more features but the scope of this project will be to 
complete a basic version of webapp. 
2. Could you develop a prototype for us?  
● Do you want me to send you the completed prototype to your address? If yes, 
unfortunately I can’t do this at this moment and neither can I commit anything like 
that because of the current Covid-19 situation the flights are delayed eventually 
delaying the shipments and in some cases even missing the delivery altogether. 
● On other hand, I will provide you 
○ Complete Code 
○ Circuit diagrams 
○ A complete report on how to setup and configure things. 
● You can use all the delivered files and documentation to assemble. the prototype 
yourself. 
 
 
 
 
 
 
 
 
 
 
 
 

 
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 
 

Terms and Conditions 

● 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. 

In this document, the company refers to 3STechLabs. 

If you agree to this report please fill-out the form below. 

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 
 

You might also like