Anybody here can explain how to connect Arduino and Twitter? Or better how to automate Arduino from IFTTT? It was one of the reasons I started with Arduino.
Now I understand Twitter API is changed, I saw some proxies which allows connecting using HTTP, but I need solution for searching Twitter posts in order to automate via IFTTT
I had a project earlier in the year where we used the Twitter API from a PC to get the data. Then we manipulated the data and pumped the resultant data to the arduino via the serial port.
In this scenario the arduino is basically a display driver and the program on the PC does the heavy lifting.
Related
I've been doing a lot of reading and research on Web Bluetooth.
I just want to send some text from a BLE Server (in this case a web app running on iOS WebBLE app)...and have the text appear on another web app running on Chrome on my Mac.
I just want a textarea and a send button for the Server and a dynamically updatable span on the client.
Seems like all tutorials assume Server is some kind of peripheral (monitor, light bulb, etc)..and that you just have to write Client code to interact with it.
Is it possible to do this? Seems like it should be simple. Thanks
I guess I'm asking how to turn desktop Chrome into peripheral device using Web BT
How can I get my Mac browser to advertise using Web BT?
The Web Bluetooth API does not include APIs for acting in the peripheral role. A page using the API can only take on the role of the central.
Is there any way to store light intensity data from the bh1750 sensor on firebase and display it using the android app.
I am a beginner any kind of help will be appreciated.
Thank you so much for your time
For starters you would want to get an Ethernet or wireless-connected Arduino, or connect a WiFi adapter to an Arduino, and have it able to connect to the internet.
Then you would need to connect whatever sensor (probably I2C) to your Arduino, and have it read in environment data like temperature, humidity, whatever you want.
With connectivity to the internet, you can send a POST request to Google's Firebase API. But I wouldn't worry about that until you at least have the arduino, internet adapter, and environment sensor.
Firebase apparently has a "REST" http API, https://firebase.google.com/docs/reference/rest/database/
And people have been able to send POST requests via arduino over WiFi https://arduino.stackexchange.com/questions/50931/how-to-post-http-post-requests-on-my-website
and Ethernet shouldn't be too hard either (it requires a seperate piece of hardware just like the WiFi path does, but there seems to be more popularity among WiFi enthusiats on Arduino than Ethernet enthusiasts.
https://www.arduino.cc/en/Reference/Ethernet
Would anyone like to help me with this problem please?
how to connect/control Nodemcu esp8266 wi-fi module from different network for control iot devices from outside of any home/ house?
Internet connection problem from different network for NodeMCU ESP8266 which I am using for IOT home automation.
Actually, in case of an class project, I have used some code (also coppied some code and took help from some website) from internet and also used Blynk for controll my ESP8266.
But not i want to make a personal app by which app I can control my devices outside from my home.
I have already connected with my WI-FI router with my home network!!
It worked well,
But i don't know how to do the same thing from different netwrok.
If possible I think anyone can help me....
Thank you.
To everyone.
This has been answered in greater detail on both the Arduino and Internet of Things StackExchange sites. In summary:
For safety, it is difficult to start a connection to a device on another local network. Devices on WiFi networks are protected from the Internet by a firewall, which is normally configured to return responses to requests sent by the devices, but block all unsolicited messages. Even if the firewall allows an incoming connection on a given port, "port forwarding" or other custom configurations are needed for unexpected messages to reach one of the multiple devices on the network (the devices usually share the same public IP address of the network and external systems' messages cannot reach the right local address without forwarding by the router).
Any device exposed to unsolicited requests like this is at risk of being attacked and can pose a risk to other systems on the network. It is thus safer to leave the firewall the same and instead make the device subscribe to an external webserver, which acts as a mailbox for incoming messages. Then, you can send requests to the server from anything with an internet connection, and the server will store them and relay them to the ESP8266 whenever the ESP asks. MQTT protocol using a server-side broker program like Mosquitto and a client like PubSubClient on your ESP8266 could work for this sort of publish-subscribe model, and MQTT tutorials and explanations are available both on both tool sites and Stack sites.
You can use Arduino IDE to program ESP8266 device.
https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/
After installing ESP8266 in Arduino IDE. You need to connect ESP8266 with WiFi router(which have internet connected). Once your device is connected with a WiFi router. you can MQTT protocol to communicate with the server. You can use the following library in Arduino to implement MQTT client in ESP8266. ESP8266 is used to send and receive data from a different network. ESP8266 is subscribed to a particular topic. You can publish data to that topic from different MQTT client.
https://github.com/Imroy/pubsubclient
Use the Following link to get more familiar with MQTT protocol
https://www.hivemq.com/blog/mqtt-essentials-part-1-introducing-mqtt
You can use MQTTfx desktop application to send and receive data from NodeMcu(ESP8266).
MQTT basic diagram for understanding
I am trying to integrate smart home devices with Google home and Alexa but I am facing following issue.
Communication between Google Home/Alexa and our device cloud server is HTTP.
Communication between smart home device and our device cloud server is MQTT.
How do I keep track of synchronous request-response? Is there a better way to implement this system?
Perfectly possibly to do with HTTP to MQTT and back again.
I've done it for both Alexa & Google Home for my Node-RED nodes.
You just need to keep track of on going requests and include a unique id in the request/response MQTT messages while also running a timer to handle no response from the device.
The project gBridge (https://github.com/kservices/gBridge; https://about.gbridge.io) basically implements plain Google Assistant/ Alexa to MQTT bridging.
Regarding your questions, there are two points that help to implement these solutions:
Think in terms of devices or endpoints, rather than requests. When you just want to "translate" HTTP to MQTT, you are inducing a lot of issues like you've figured out. You probably want to implement a logic that allows MQTT topics to control/ query your actual deviecs - not ones that respond to HTTP requests. This makes thing a whole lot simpler.
Caching is essential. Allow your bridge to have a local copy of your device's states. When having the properly implemented cache, you won't need for any response. Just use the cached data.
Apologies in advance for the general-ness of the question.
I'm writing a multiple client iOS app for viewing the video feed from a single camera. Can the QX10 api support two (or 3) iPad's discovering/viewing the same QX10 at the same time?
I've been looking QX10 sample code, the camera api docs, StackOverflow, and of course the dev website and haven't seen an answer. I'd just buy the bloody thing to test with, but there are none nearby and I was hoping to avoid having to mail order/return it if it didn't work.
....And we're not locked into HW. If there's a better option, I'm open....
I don't believe it does. For ios, the camera creates a network that the ios connects to. (In ios settings/wireless) Any further attempts to connect to the camera from another device fail. Since the API only works after a network connection is established, I don't see how the API could possibly allow 2 devices could connect at once.
(No extraneous words in this post b/c that will get edited which auto down votes the question.....ahhh internet)
I did not try it, but you could use a computer with nat. For example an openrwt router to open up multiple wifi interfaces, one to connect to the camera, using the 10.0.0.0 network the camera uses and then an other network to connect your clients with NAT.
The question would be when the API would start to get confused.
So depending on what you want, maybe some mapper on that helper-computer could
do some proxying of information.
So in theory with an external box, maybe, but as Oldmicah said, it seems that only
one device can connect at the time (at least my QX100 also behaves like that). :(