Looking to get some help making an iOS application that would support sending commands and displaying information from an Electron. I am open to the best approach but, I am thinking of this as a modified Tinker app with a different graphical presentation but basically the same functionality.
I am willing to pay for your time / expertise, please feel free to reach out via DM.
If there is a turn key solution to this issue, please let me know!
Is it for personal use, or commercial? Blynk seems popular.
There are also some drag&drop app making programs that allow you to create platform-independent apps.
It would be for professional use. I took a look at Blynk - woof $199/month not sure that is for me. I need something I can use as this product gains momentum - perhaps Blynk would make sense once I get more traction.
I think there is also the area of authentication that I need to look at or get help with. I would need to give folks access to this tool and only the devices they are authorized to see.
Again, thank you and any advice is appreciated.
It seems like Particle should have some contacts / partners they work with for building these apps for people who come through Particle Studio
@Will or @jeiden May be able to point you in the right direction.
Are you needing remote (cloud/internet) connectivity from the app to the devices or just local (Bluetooth/WiFi)?
The devices are Electrons and are remote. My hope is this app would use the phone’s WiFi or the phones’ cellular data connection to access / control these devices from anywhere.
Since you said this was for professional use, I assume you want to make an app that can be put on the App Store? I’ve made quite a few apps for my own use, but going through Apple’s process to get things in the store is a real pain, and not fun like coding.
Ok, I am new to particle and have just ordered my mesh devices. I do have some ideas but need to get more familiar with particle to understand what frameworks they offer. I am not sure I would have my app talk directly to the particle cloud. I am thinking having a REST or GraphQL API specific to my app/domain.
Do you have a preferred cloud provider? AWS, Azure, Google? I have worked on a few apps and have built APIs that apps and websites use to do something like this.
iOS apps (and mobile apps in general) can be a pain due to the requirements to get published. But you can start simple with phases. Phase 1 - Cloud based API to link the devices to the app and you test API from postman or fiddler or curl (simulate app). Device subscribes to an event and when you call the api you publish the event. Then when ready you can work on Phase 2 - an app that uses the same API.
Look at https://docs.particle.io/reference/device-os/firmware/argon/#particle-function-
I’ll be working on learning particle more this weekend and get some ideas!
Hopefully, others with more Particle experience will chime in and give us some pointers
Have you looked into Nativescript? They have excellent resources and help at the Slack channel. I started learning it about a month ago and already have a working bluetooth app with an arduino board. I’ll be using the same tool for particle mesh app.
Welcome to the Particle community. I have been building on Particle for a couple years but, only recently needed more than what I could do on the device or using by back-end service Ubidots.
I have done something approaching what I need already using an Ubidots dashboard. Particle devices have variables and functions which all are API endpoints. So, the application I am looking for would simply query the Particle device for data using Particle variables and send commands using Particle functions. All the iOS app part would do is present this data and functional capability using a graphical metaphor. I don’t believe there is any cloud service required.
Again, I may have this wrong but that is my understanding. I look forward to seeing what you come up with.
Very cool, I will take a look.
Adding my own experience to the thread, I have been building an iOS app for an electron based product (asset tracker), but went with a hybrid solution, also writing some backend services.
Basically I have a tracker which sent over a web hook its position (frequency determined by the device itself abed on multiple parameters), it also sent regularly its charge/battery status a well as movement events.
I built the iOS device for the user to register an particle account as well as login, then claim a device and interest with it (display the asset position on a map).
Why the backend, well as the mobile network is not always reliable, I decided to display the last know position of the device fetched from the backend if the device is not responding. I also used the backend to send push notification to the smartphone if the tracker moves (event sent to backend) and if the status of the tracker was “Armed” in the app (meaning send a push notification off the tracker moves) …
I also use the backend to display an history of the geo positions along with other info (speed, battery, etc…)
Last info, so far I did not use the particle iOS SDK, I built all myself using the particle cloud commands, along with some other pods like alamofire and swifty-json to parse the responses.
I hope this helps getting some idea,
Thank you for providing your approach. My concern is taking responsibility for a back-end to these systems. Where do you host your back-end? Is there a lot of work involved to secure and maintain it?
Sure, well security is a big responsibility, but the necessary backend logic is rather simple and can be easily secured using https and a second layer of security with token based transaction or private keys. Securing a DB against sql ingestion is also not the most complicated thing,
But again, you are right that you engage your responsibility, and of course need to have some basis measure to monitor access and traffic over your service.
I personally host my backend at a German provider, but it’s a coupe of root access server for which I have to take care 100%. I’m considering moving that to AWS in future using standard services and API they have, where I also know some basic security is already taken care off in comparison to a pure set of servers without any service provided.
Not sure my answers shows you the way to go, it always depends on factors like technical/security knowledge vs cost vs flexibility.
One backend I see mentioned around is Firebase, from Google.
It seems to do what @steven_r mentions without the hassle of maintaining your own servers.
Thank you for the suggestion. I, too, have heard good things about Firebase. Have not yet figured out what to about this project. Will keep you in the loop.