New Site Installation : How do we register a new site

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

New Site Installation : How do we register a new site

'Neal Singh
Administrator

How do we register a new site 

(with added data from Juan and Neal – 30 July 2019)

When a new Master Controller (issued to a Technician) to be install what are the actions that need to be done and how does the system process support this.

Installation

The technician will be required to decide on the installation that is required. There could be different technologies use and the factors that influence this are;

1.       Number of Pumps – their location/ Distance apart/ Type of Vehicles being fuelled

2.       ATG types used

The full technical specification of the first Phase release will be further defined as to the number of Pumps, ATGs, Accounts, Driver, Attendants and Vehicles that it supports only once the device has been fully develop and this Phase is completed.

 

-          Connections to the Pump

This can be done via a new wireless RF1310 technology or cabled using RS485.  

Now a typical home-base site is expected to have 1 or 2 Pumps and 1 Tank and to support this you would need a Master Controller and a single MID board per Pump.

NB: In this setup, it would make sense to have an enclosure that can be fitted to the Pump that would accommodate the Keypad, LCD and Tagging fitted.

 

-          Once the setup is known, this information would be relayed to the HelpDesk so that the Setup can be done. It would be a good idea to have defined Templates of the setup so that configuration is speeded up. It is likely that the setup will in all cases involve a 1 or 2 mechanical Pump setups and 1 ATG. This is a very important point to get right as this means that we can define a standard installation setup and the Help-Desk then drives the Technicians to comply with the same setup on site for the Template in question. This will help debug and get uniform results and photographic compliance becomes a simple routine.

 

Technical Installation Forms with Compliance Reports will become a major aspect of qualification as these installations will be done by a random selection of people but the standard application of our systems of operation determines the final result.

 

-          The Device (MC) will not be able to contact the Server unless there is a SIMM with credit value – it will important to investigate the options of a GPRS/GSM account so that all devices are maintained consistently – Question: Which service-provider do we use?

-          It will also be important to investigate if we are able to shutdown a stolen SIMM

-          Could it be password protected and we are able to set the password in our device.

-          Once the installation is done and the MC is powered up, it will go to the Welcome screen on the display. You are able to go to the Menu and run a diagnostics – this will be important as it give the technician a means to debug the installation.

 

 If you are in the Mode that allows a Nozzle Switch, then you do a Nozzle Test: “Pick up a nozzle1” and then it will ask you to put it down. Then select Motor Test: Pick up the Nozzle and the Motor start, runs and Pauses and Runs with LCD messages of what is occuring.

 

The Pulser Test:  The Technician gets a LCD message to Pump exactly 10 Litres and reports the amount reported on the LCD to the Help Desk. It bests if the Technician takes a photo of this amount and the Pump Display and send to the Help Desk. Each Pump must be checked individually if the Pump Types are not the same.

 

-          Once the Help Desk has configured the Site for the Pumps and Tanks etc.  The Menu option of: “Display UniqueID” is selected.  The MC will display a 16 Byte number on it display that the technician must take a picture of and send to the HelpDesk.

 

-         The HelpDesk does the registration process and once the HelpDesk confirms that the site has been registered – an SMS can be sent to the Tech, the Menu option of: Invoke Registration is selected: This will enable the device to contact the Server and start downloading of its database.  NB: Once this process starts, the Diagnostics will become password protected.

 

-          Nice to have: an app that the Technician uses to load the 16 Byte number and details of the Technician are automatically send to the Web with this ID# and a GPS location of the installation Site .

-          Then the administrative setup of Accounts, Vehicle, Driver and ATT can also be done and the site is ready to start transacting.

 

Juan:

 

These are the codes that the MC will use in the initialization sequence and then to know it status.

INIT_CODE_WITHOUT_ID                   0x00                       // This code indicated that the MC is in blank

INIT_CODE_WITH_ID                           0x01                       // This code indicated that the MC has the ID assigned

INIT_CODE_MINIMUM_MAP             0x02                       // This code indicated that the MC has the minimum MAP configs

INIT_CODE_WAITING_CONFIGS         0x03                       // This code indicated that the MC is waiting its configs, is not fully configured

INIT_CODE_CONFIGURED                   0xAA                      // This code indicates that the device is fully configured for working

INIT_CODE_BLOCKED                          0xFF                        // This code blocks the device

 

 

 

 

 

Neal: How these statuses be uploaded to the Server. I was looking at two possibilities

1.       Add it to the Acknowledge Message

2.       Status Byte of the Heartbeat

3.       Since the messages from the Web can be pushed down to the MC, we can then have the heartbeat be every 1 to 5 minutes and should the Web need to know the MC status, we can have a special command to request the MC device Status.

 

 

 

Sequence of initialization:

1)      If the MC is in blank, with its Init_Code = 0x00, the device starts by default in SubscribeTopic  = “Initialization”. If not it jumps to the initialization step.

Neal: What does the MC do when it is blank ?

Does it keep try to check to Server or does it connect and wait for the SERVER to send it its UniqueID and new SiteID# ?

The Tech could request from the Keypad, the UniqueID and send it to the HelpDesk so it can be setup. Then the Server will initiated the setup process.

Juan: If the device is in blank, it shows in the display the unique ID, and wait that the tech press the #enter for sending the request to the server. In this time, the idea is that the tech sends a picture of the code in the LCD and in the Help desk assign a ID to this device

 

2)      The first step is that the MC sends its Unique ID[16] to the server, using the command 0xFF.

Neal: How is that initiated or does it keep sending it ? I rather it does not send data to the Server until it is asked to do so.

Juan: Once that the Tech press enters, the MC starts to send its ID to the server and wait an answer on “initialize” topic with its Uique ID plus Site ID.

 

3)      Then as more than one device can be in initialization process, the Server will answer to this command (0xFF), sending into the payload the UniqueID[16]+SiteID[3]. At this way the MC can check if the answer is for it or for other MC in the same situation.

Neal: Yes, I agree. Also it can happen the other way where the Server sends the data to the all MCs that are subscribed to “Initialization” the Topic.

4)      Once received the previous package, the MC changes the SubscribeTopic to the receiver ID and its Init_Code = 0x01

5)      As the library of MQTT works with strings, the HEX numbers will be converted to string. For example the SiteID[3]=010203 will be converted to the char array SubscribeTopic[7] =  “010203\n”

Neal: good

6)      Once that the MC receive the command 0x05 and previously 1,2,3,4. Changes its status to Init_Code = 0x02

Neal: good

7)      In the state INIT_CODE_MINIMUM_MAP -> shows in the LCD that it is downloading the configs. And change Init_Code = 0x03.

Neal: Yes, if you can add something to the LCD to say which Step it is doing it will give an idea of the progress and how much time before it is done.

Juan: Ok I will add that.

8)      In the state INIT_CODE_WAITING_CONFIGS, the MC waits the confirmation of that it is fully configured. For that the server must to send the special command 0x64 with the parameter = INIT_CODE_CONFIGURED.

At this moment the MC changes to SYSTEM_UNBLOCKED and then unblock and release the MID for normal use.

Neal: the MC will be working mode, but may have no Tags configured. It will be important to add to the Menu a functional status so that the user knows the number of Tags and Accounts etc that have been downloaded.

 

9)      On the next restart, when the MC reads from the FRAM its Init_Code = INIT_CODE_CONFIGURED. Jumps directly to SYSTEM_UNBLOCKED and continues to normal use.

Neal: Ok, will the Server need to send a reset command ?
Juan: Yes, is the best.

 

10)   At this way from the server is also possible to configure the MC for starts its configs again, for example sending the command 0x64 with the parameter = INIT_CODE_WITH_ID. And all the cycle will be restarted again.

Neal: Ok, good.

 

 

IMPORTANT: when the command 0x01 is sent from the server, the ID must to be loaded if not then never answer again to the previous ID. It is the only one command that can causes that.

Neal: Ok, so the MC does not store the SiteID once it receives it the first time with the UniqueID, but uses it to in the ACK message to initiate the Setup (based on the data in the Status Byte).

Now this means that it is very important that the data for Commands 0x01 and 0x02, 0x03 and 0x05 are ready in the queue to be sent to the MC. Of course, 0x01 is most important as it holds the SiteID for storage in its location in the Fram.


Sequence of Registering a new Master controller Site More data (1).docx (36K) Download Attachment