LOGIN
Steven Reubenstone
27
Community Expert
Mechanical Engineer & Tinkerer of Things. (Project Leader)
 · New YorkU.S.
Share
Report
Get Link
TASK
$60.00
Open
Reward  »  
Contribution Review

Need REST API for Hacking MixPanel w/Arduino

I need someone to set up a basic HTTP REST API for my Hacking The Mixpanel API with Arduino UNO Project. You can read through the project – but the basic gist is that I need this API to receive updates from the Mixpanel API as well as be able to receive requests from my Arduino via http request and return the response.

The reason I am doing this is because I can not query from Arduino <–> Mixpanel directly as Mixpanel is HTTPS.

To understand the flow better:

  1. HTTP API receives updated Newest Event, Event City data from Mixpanel
  2. HTTP API/Web App stores this data
  3. Arduino sends http request to web app, and receives newest Event, Event City

We can discuss more here and then once everything is clear we can move forward officially.

Paypal will be used or any trusted payment service

I am willing to negotiate cost

API
Back End Development
Contributions
Harsha Alva

Insane backend, front end, IoT, Arduino, and everything in between skills shown on this contribution. Harsh tackled this paid task with speed, clarity, and incredible intelligence. Not only did Harsha build out a full system from scratch (you can see the details in the thread) by architecting a way to tap into the Mixpanel API build a middle man webserver and pass the data live to our Arduino wirelessly, he was also able to adapt to some serious issues faced with hardware limitiations, and used outside of the box thought process to STILL make it work. Looking forward to continuing to build this creation with Harsha.


Back End Development
Arduino
Arduino Uno
Hardware
Software
Front End Development

6 likes 
Like
Award Contribution
Load 18 previous comments
Steven Reubenstone
27
Community Expert
Mechanical Engineer & Tinkerer of Things.
 · New YorkU.S.
Share
Report
Get Link

I am going to play around with this tonight then make an update.

Like
1 like 
Award Contribution
Steven Reubenstone
27
Community Expert
Mechanical Engineer & Tinkerer of Things.
 · New YorkU.S.
Share
Report
Get Link

It is amazing so i want to savor it and then make sure i set the next steps properly

Like
1 like 
Award Contribution
Steven Reubenstone
27
Community Expert
Mechanical Engineer & Tinkerer of Things. (Project Leader)
 · New YorkU.S.
Share
Report
Get Link

Harsha Alva so you know i moved this thread under the project

Like
1 like 
Award Contribution
Steven Reubenstone
27
Community Expert
Mechanical Engineer & Tinkerer of Things. (Project Leader)
 · New YorkU.S.
Share
Report
Get Link

Ok this is amazing work. I will mark this task as complete. I don’t yet have the time to learn all of this though I wish I could, but I still want to build this.

Harsha Alva I am going to post a new paid task as well as a new question thread for learning.

Like
1 like 
Award Contribution
Steven Reubenstone
27
Community Expert
Mechanical Engineer & Tinkerer of Things. (Project Leader)
 · New YorkU.S.
Share
Report
Get Link

Can you also break down how well this current set up works Harsha Alva – if i assembled this today at my desk as you did – would it work long term, or is the memory problem causing it to fail?

Like
0 like 
Award Contribution
Harsha Alva
59
Community Expert
Mechanical Engineer + Software Developer
 · MangaluruIndia
Share
Report
Get Link

Steven Reubenstone, using strings in a low memory environment was a worse solution to a bad problem. Now I’ve fixed both server and client to respond with and parse JSON respectively.

I’m using the ArduinoJson library to parse JSON. It works by statically allocating memory and uses low-level techniques. So it is better than using formatted strings.

Initially, free memory is ~1100 bytes. After a part of the memory is allocated to the JSON class, ~550 bytes are left free. It remains around the same even after 25 executions of the loop, with a delay of 60 seconds between executions, i.e., it worked flawlessly for 25 minutes. I stopped it when I had to recompile and upload the code for a small spelling mistake.

Ideally, you can run this device forever. If free memory goes below 300 bytes, it resets itself using WDT (Watch Dog Timer). It’s as good as powering the device off and then back on. In case this does not happen for some reason, your LCD will go blank.

We need to test how long this device can run without human intervention.

Like
1 like 
Award Contribution
APPLY TO TASK
LEAVE A REPLY
DISCOVER
CHAT
ALERTS
DISCUSSIONS
FEED