Guest User

Untitled

a guest
Mar 17th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. var mqtt = require('mqtt');
  2. var mysql = require('mysql');
  3.  
  4. var client = mqtt.connect('mqtt://host',{
  5. username: 'mqttUsername',
  6. password: 'mqttPassword'
  7. });
  8.  
  9. var connection = mysql.createConnection({
  10. host : 'host', //if port is not default, define!
  11. user : 'user',
  12. password : 'password',
  13. database : 'database'
  14. });
  15.  
  16. connection.connect(function(err) {
  17. if (err) throw err;
  18. console.log('Connected to MySQL');
  19. });
  20.  
  21. //data globals
  22. var dataForColumn1 = 0;
  23. var dataForColumn2 = 0;
  24.  
  25. client.on("connect", function () {
  26. client.subscribe('#'); //subscribe to all Topics
  27. console.log('Connected to MQTT');
  28. });
  29.  
  30. client.on('message', function (topic, message) {
  31. switch(topic){ //switch is optional, you can obviously save all messages into one column, too.
  32. case 'topic1':
  33. dataForColumn1 = parseFloat(message.toString());
  34. break;
  35. case 'topic2':
  36. dataForColumn2 = parseFloat(message.toString());
  37. break;
  38. case 'triggerTopic':
  39. writeToDatabase();
  40. default:
  41. console.log('Unknown Topic');
  42. }
  43. //console.log(topic.toString() + ': ' + message.toString())
  44. });
  45.  
  46.  
  47. function writeToDatabase(){
  48. var sql = `INSERT INTO DatabaseName (topic1, topic2) VALUES (${dataForColumn1}, ${dataForColumn2})`;
  49. connection.query(sql, function (err, result) {
  50. if (err) throw err;
  51. console.log('New Data inserted');
  52. });
  53. }
Add Comment
Please, Sign In to add comment