Node-RED on iOS

*@*Node-RED on iOS

I made a port of node-red for ios, and was able to pass app store reviews.
Unfortunately, it's not currently showing if you search for the keyword 'node-red'
because of how app store search engine's work.

Search for 'Node-PAD' in the app store.

If youre looking for an android version,
heres one from a different developer
'RedMobile' on https://play.google.com/store/apps/details?id=com.okhiroyuki.redmobile&hl=en&gl=US

If you tried to install a node and it didn't work, just drop a message here, and I'll and help you out.

If I got a spare time, I'm going to add these on the upcoming releases:

  • the prebuilt admin authentication
  • admin dark theme that syncs with your ios settings
  • icloud folder for all your files and installed nodes
  • write a 'peertalk node' to enable the use of high speed tcp messaging on the USB port of the ios device
  • nodes for device data like ip address, battery, cpu, ram, disk, geolocation, accelerometer, etc.
  • enable the use of Bluetooth or BLE, (apple has a very restrict policy on the usage of this one)
  • enable the use of non-mfi ESC/POS thermal printer using the bluetooth

There are small bugs, like for installing a node won't reflect immediately on the listing and a restart is required, and some small UI issues in the webkit but everything else seems good.

If you have any suggestions or feature requests just drop a comment and we'll sort it out.

9 Likes

Hi

You are making a commercial so cannot test. However, it seem to be a “server”, like RedMobile on android

My app is a client, with purpose to make a better mobile experience by hooking and injecting new layout, UI

Yup it is a server, sorry i really didnt try yours, I just seen your post and thought its the same :slight_smile:

It is nice to see new thing come to NR everyday. However could you tell me the advantage of installation NR server on IOS. The Android version work with Android box, and could be a real server

Do you use an Ipad as a real server in your house? How about its speed, how do you solve hot, damage battery when charging continuously

JFI - I have had an IPad on continuous charge for about 2 years as my bedside Netflix device and its been fine

1 Like

You can repurpose old your iPad/iTouch/iPhone if you have one. I think it'll be good for workflows on demand, you really don't have to run it like a server.

I also see a lot of implementations on rpi, though rpi is great, it easily becomes ugly for portable use or where internet is not available. You need a power supply, display & an endless option for the enclosure.

2 Likes

Great App!
It was very exciting.

Does that mean that you've included node.js in the app build?

How will new releases like 1.2.2 be handled, what if someone wants to install a prior release?

theres very little changes to node-red itself, ill make a fork in my github, so there will be a lag between releases. I’ll only maintain it to the latest :frowning:

How to you access files in node-pad? i.e. to use the file node you need to specify the absolute path. What would that be on an iPad?

trying to install node-red-node-sqlite crashes the app.

There's no direct way to access your files unless you know the document root of the installation of your app. The user folder is stored in a variable process.env.NODE_RED_HOME. Try this one, msg.payload = env.get("NODE_RED_HOME")

Does the sqlite node require native bindings as I assume? I do not own any iOS devices myself but somehow I have a feeling only nodes implemented in plain JavaScript could work in the limited runtime environment of iOS.

2 Likes

I agree but I figure I’ll explore and see what can and what can’t be used (MQTT works fine)

you're right, native bindings won't work straight away and their binaries need to be packed as framework and be signed, i was not yet able to run them even compiled with the same architecture. for now sqlite could only work if it's written purely in js like sql.js.

Just to report, the file node can write and read from that location but it would be really nice if you could access other files. Say I upload a file to the iPad, I’d like to be able to access it or say I create a bunch of data using the `file node, it would be nice to be able to send it somewhere else.

I haven’t yet figured how to delete a file that I created yet...

Just curious - is there even such a concept in iOS that you could just upload a file to some folder and then read it with various apps? I've been under the impression each app would only have its own sandbox and interacting with other apps would happen by "sharing" on a file by file basis?

I guess I can just google this to fill my curiosity. :slightly_smiling_face:

Edit: looks like it has such a feature. Dunno about direct file system access though which would likely be required for a file in node to access for example your "Downloads" folder.

Documents in ios are sandboxed and cannot be accessed directly among each other. The next update will show your files in the apple’s Files app. I’ll also add sqlite node if i have time this weekend. Still fixing bugs... :grin:

4 Likes

v1.1 released

What's New?

  • updated to Node-RED v1.2.1
  • admin dark theme that syncs with your ios settings
  • itunes file sharing & icloud for workflows and installed nodes
  • fix on nodes installation requiring a restart
  • @beta: admin authentication can be enabled by creating an adminAuth.json
  • @beta: you can use static assets now by creating the node-static folder

New exclusive Node-PAD ios nodes!

  • sqlite.js node running purely on javascript with web assembly
  • system services node to feed system and device data
  • location node to feed core-location data
  • gyroscope node to feed gyroscope data

Release Notes: Please backup all your flows before updating to 1.2.1.
If you already made the upgrade and your flows were missing,
check https://github.com/michaelmruta/node-pad on how to recover your old workflows.

What's Next?
I'm thinking of enabling BLE? what do you think guys?
or video stream or mic w/ audio stream nodes for alexa or alike

4 Likes

Hi,
This looks like an excellent port to iOS.
Although I haven't got any Apple products (what an admission to make in this day-and-age) most of my IoT students do have, so I'll pass your link on to them.

One question... will MQTT work or can be installed on your port??