We need to develop an application for Raspberry PI (Raspberry PI3 B+ or Raspberry PI4 ).
Php application over Apache2, with a very simple html interface to do all required functions (on this we will further develop an html5 App later on, so it shall be based on API, therefore GET and POST html calls shall give data in JSON).
The backend should be based on Python as the application needs to interact with the network interface of the Raspberry Pi.
MYSQL should be used for storage of the network configuration.
NETWORK DESCRIPTION AND GENERAL ARCHITECTURE
Raspberry Pi will be connected to a network (wifi or ethernet), where there will be:
- many Devices that can be queried through MODBUS protocol (over TCP/IP) – IP address already set, so no configuration is needed
- other components that are of no usage to us (router, switches, devices)
The Raspberry PI must connect to some devices through the MODBUS protocol over TCP-IP, get the values that are stored in some registers and eventually modify these values if required.
Raspberry PI will connect to the network through the standard OS tool.
The application needs to scan the network to find Devices, then user can select a group of these devices and record them, specifying the type of device and a name.
There are 2 types of possible devices: DEVICE-A (max 4) or DEVICE-B (max 50 per network).
Once the network configuration is complete it should be stored in a MYSQL database. For each device we need to store: Ip address, type of device, assigned name.
From the admin interface, it must be possible to remove the network configuration and start over the scan, to remove/add devices from the current list, change type of device and name.
From the admin interface it must also be possible to change network parameter of the Raspberry Pi itself: ip, subnet mask.
The application needs to handle possible connection error (example: a device not connected, …).
A routine for checking if devices are online or offline shall be available.
If the network is not configured, it shall show it is not configured.
If a network is configured, from a simple html interface, it shall be possible:
- To read values of registers available through the Modbus protocol over TCP/IP in Read only
- To read/write values of registers available through the Modbus protocol over TCP/IP in Read/write
The simple html interface should:
- show for each Device Type the list of devices, and the values of the registers
- Allow a refresh
- Allow to modify the value of RW registers (for a single device)
- Allow to modify the value of a RW registers (for all devices of the same type – massive update)
DEVICE-A and DEVICE-B will have different registers to be read and/or written:
- DEVICE-A has around 20 registers
- DEVICE-B has 7 registers
1/2 weeks development, time is an issue so it will be considered in the choice.
14 freelancer chào giá trung bình€728 cho công việc này
Hello, I have checked The requirement and understand that as well. I have created SIMILAR in past. Do you want to see the DEMO ??? Can will send you ?? Thanks.