Robrecht Daems
/
PGO6_VoteController_template
Robrecht Daems
Fork of PGO6_VoteController_template by
Diff: main.cpp
- Revision:
- 0:fd29cd85e75e
- Child:
- 1:34e76c0cbe5a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Oct 26 07:33:07 2017 +0000 @@ -0,0 +1,48 @@ +#define APP_VERSION 0.6f +#define MQTT_VERSION 3 +#define BROKER_NAME "broker.hivemq.com" +#define BROKER_PORT 1883 + +#include "debounce_button.h" +#include "EthernetInterface.h" +#include "MQTTNetwork.h" +#include "MQTTmbed.h" +#include "MQTTClient.h" + +char* topic; + +/** + TODO + ---- + - Check if the button has been pressed. If so, print the amount of clicks to a serial terminal. + - Make an MQTT-service which: + - starts up a network using EthernetInterface. Make sure the development board requests its address via DHCP. + - makes a client and connects it to the broker using a client ID and credentials (username & password). + - sends messages at the same topic as the smartphone app from PGO 2. Feel free to choose which Quality of Service + you are going to use. Make a separate function which handles the sending procedure. Therefore, this function + can be called each time we want to send a certain message. + - When the button is pressed once, we send an upvote. When pressed twice, a downvote is sent. By pressing 4 times, + the program disconnects from the broker and terminates. + + Extra + ----- + - Subscribe to the topic on which the song data is published. Display this received message on the serial terminal. + - Test this controller in the complete system of PGO 2. Use these controllers instead of the smartphones. + + Tips & tricks + ------------- + - To generate an interrupt on the press of a button, use: + InterruptIn button(USER_BUTTON); + ... + button.fall(callback(someFunction)); + - Before implementing MQTT, test the multiclick feature first. + - Have a look at the MQTT-library for Mbed and the HelloMQTT-example. + - To have a uniform message sending procedure, use the following function usage: + sendMessage(&client, topic, buf, qos, retained, duplicate) +*/ + +int main(int argc, char* argv[]) +{ + + return 0; +}