Sub-project context
The system uses a SAMD51 ARM processor with an Atmel Start based project. Start says 8.23 but the headers say FreeRTOS V9.0.0rc2. The project uses UARTs (one debug port and one data port) on Sierra Wireless HL series modems. The modems will typically be CAT M1. It was intended to use AT commands to post HTTP JSON packet; however, the released M1 modems do not have an IP stack.
The main app will poll the modem and determine if IP stack is available. If so, it will use the built-in stack. If not, it will use PPP shadow functions.
Requirements
If the stack supports Berkeley Sockets or similar, that is ideal. At the very least, we need the connection functions encapsulated. We would also like an HTTP task, as described below.
C function to initiate PPP connection
Contractor to specify arguments required. A minimum will be the Queue Handle to which responses are posted, qhResponseQueueHandle.
Function returns a queue handle to which main program posts requests. A null handle signifies a failure.
If the function is called and PPP is already initialized, the connection is closed and reopened.
C function to close PPP connection.
Closing the connection does not end the task or queues. When connection is closed, queued requests are responded to with “ERROR CLOSED PPP”.
C function to connect to a server (“ip address”, uint port, bool TCP_nUDP, char *key);
Returns an error code. Connection state is known to FreeRTOS Task_HTTP_POST. The stack should support a minimum of two outgoing connections. Key is the assess code required for https.
C function to test connection to a server (“ip address”, uint port, bool TCP_nUDP, bool Reconnect);
Function to test the connection state.
FreeRTOS Task_HTTP_POST:
This task will block on an incoming command queue. The queue item will have two null terminated strings. The first string is the HTTP header. The task shall append the literal text in the macro, EOF_STRING, to the header and send it. The task will then send the body string.
If the connection state is not SERVER OK the task posts an error state. Error states are, at least, NOT INITIALIZED, NO PPP LINK, NO SERVER SOCKET
On error, the task will post the error code to qhResponseQueueHandle. On success, it will post the response. If the response length exceeds the queue length, it will be truncated. (option is to allocate memory for response and post only the pointer and length to queue, but I would rather avoid memory leaks).
Hello, thank you for the opportunity to bid on your project! I have implemented a FreeRTOS-compatible IP (including) PPP stack on a different processor so I am familiar with the challenges.
Relevant Skills and Experience
Over 20 years in embedded systems development, I have designed hardware and written software to implement TCP/IP and PPP on a similar architecture. I used a Telit LTE modem.
Proposed Milestones
$150 USD - Develop written specifications
$500 USD - Demonstrate cleanly starting and stopping PPP sessions and request basic HTTP
$500 USD - Demonstrate basic queue which survives PPP disconnect/reconnect
$294 USD - Delivery of full source code and all project notes
$1,444 USD in 14 days
5.0 (1 review)
2.7
2.7
4 freelancers are bidding on average $875 USD for this job
Hi Sir,
We read your project, we have done many projects in which we used JSON, HTTP etc for microcontroller to server communications. Lets talk to us on this project and consider it done.
We offer our services at very feasible rates. Please discuss with us in details.
We are team of developers and engineers professional in designing electronic circuit solutions, pcb designs, database programming such as MySQL etc, software designs and GUI/UI development, android applications, integrating software and hardware and providing complete solutions.
In this bid, we offer you our solution at very low and affordable rates based on your desired requirements. we normally follow several checks to ensure the quality of service and products.
In this bid prototyping is not included, if at certain point you would like to have prototypes manufactured, we can provide you at minimal cost including courier charges (DHL/FedX etc).
We, very humbly deal with our clients and provide technical support to them during all phases of project execution.
We are very much looking forward to hear from you in coming days.
Cheers,
Ahmad
Lead Technical Engineer
Turktronics Inc.
An Internet of Things Company
Have experince with FreeRTOS in embedded applications with TCP/IP stack.
Relevant Skills and Experience
ARM Cortex M4, FreeRTOS
Stay tuned, I'm still working on this proposal.
Your project's posting has caught my attention as this lies exactly in my domain of expertise. To ask a few questions to gather all the requirements for this project, i request you to message me.
Relevant Skills and Experience
Expertise and skills will be disclosed via chat.
Proposed Milestones
$555 USD - default
Shall I get all technical/non-technical details via a document?