{"id":3877,"date":"2023-07-03T08:55:34","date_gmt":"2023-07-03T07:55:34","guid":{"rendered":"https:\/\/www.lifely.cc\/?p=3877"},"modified":"2024-04-17T14:41:15","modified_gmt":"2024-04-17T13:41:15","slug":"agrumino-lemon-misuratore-uv-tascabile","status":"publish","type":"post","link":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/","title":{"rendered":"Lifely Agrumino Lemon &#8211; Misuratore Uv tascabile con MQTT"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;38px|||||&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2><strong>Lifely Agrumino Lemon &#8211; Misuratore UV tascabile con MQTT<\/strong><\/h2>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; custom_margin=&#8221;||-3px|||&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p>Benvenuti ad un nuovo articolo del<strong> <a href=\"https:\/\/www.lifely.cc\/it\/\">blog di Lifely<\/a><\/strong>!<\/p>\n<p>Oggi vi parleremo di un progetto realizzabile con il nostro dispositivo Lifely Agrumino Lemon: <strong>un misuratore uv tascabile con MQTT<\/strong>.<\/p>\n<p>Il nostro Lifely Agrumino Lemon \u00e8 un dispositivo open-source, programmabile per ogni esigenza. Infatti, se sei un makers e sei appassionato di tecnologia puoi migliorare il nostro dispositivo scrivendo tu stesso il codice e condividerlo con la community!<\/p>\n<p>Sei interessato al nostro dispositivo Lifely Agrumino Lemon? Puoi acquistarlo subito premendo il pulsante qui sotto.<\/p>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/www.amazon.it\/dp\/B08C5M6PN1?ref=myi_title_dp&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Ordinalo subito&#8221; button_alignment=&#8221;center&#8221; button_alignment_tablet=&#8221;center&#8221; button_alignment_phone=&#8221;left&#8221; button_alignment_last_edited=&#8221;on|phone&#8221; _builder_version=&#8221;4.21.0&#8243; custom_button=&#8221;on&#8221; button_text_size=&#8221;16px&#8221; button_bg_color=&#8221;#87bc6b&#8221; button_border_width=&#8221;0px&#8221; button_border_color=&#8221;#d69be5&#8243; button_border_radius=&#8221;0px&#8221; button_letter_spacing=&#8221;2px&#8221; button_font=&#8221;|700||on|||||&#8221; button_icon=&#8221;&#x24;||divi||400&#8243; background_layout=&#8221;dark&#8221; custom_margin=&#8221;|||&#8221; custom_margin_tablet=&#8221;||70px|&#8221; custom_margin_phone=&#8221;||35px|||&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; custom_padding=&#8221;16px|40px|16px|40px|true|true&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; button_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221;][\/et_pb_button][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Ma torniamo al nostro progetto, realizzare un misuratore UV tascabile con MQTT.<\/p>\n<p>Cosa ti occorre?<\/p>\n<p><strong>Componenti hardware:<\/strong><\/p>\n<ul>\n<li>Lifely Agrumino Lemon<\/li>\n<li>Adafruit Veml 6075;<\/li>\n<li>Breadboard (generic) ONLY FOR TEST;<\/li>\n<li>4 pin Male Jumper to Grove 4 pin;<\/li>\n<li>Batteria ricaricabile 3.7 V (opzionale);<\/li>\n<li>Smartphone Android 7.0+.<\/li>\n<\/ul>\n<p><strong>Componenti software e servizi online:<\/strong><\/p>\n<ul>\n<li>Arduino IDE;<\/li>\n<li>MQTT;<\/li>\n<li>Mqtt Dash Android App.<\/li>\n<\/ul>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h3><strong>STEP 1: Descrizione e connessione<\/strong><\/h3>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><span style=\"font-weight: 400;\">Grazie a questo progetto avrete la possibilit\u00e0 di trasformare il vostro Lifely Agrumino Lemon in un misuratore UV, molto utile nella stagione estiva per proteggere la nostra pelle dai raggi del sole.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Come prima cosa \u00e8 necessario collegare Lifely Agrumino Lemon come un esempio di Fritzing.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Questo ci permetter\u00e0 di acquisire i seguenti dati con grande precisione:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">UVA<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">UVB<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Indice UV<\/span><\/li>\n<\/ul>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/raggi-uv.jpg&#8221; title_text=&#8221;raggi uv&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; height=&#8221;302px&#8221; height_tablet=&#8221;302px&#8221; height_phone=&#8221;200px&#8221; height_last_edited=&#8221;on|phone&#8221; max_height=&#8221;1000px&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3><strong>STEP 2: Crea un account free su cloudmqtt.com<\/strong><\/h3>\n<p><strong><\/strong><\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><strong><span style=\"font-weight: 400;\">Andiamo a creare un account gratuito sul sito<\/span><a href=\"https:\/\/www.cloudmqtt.com\/\"> <span style=\"font-weight: 400;\">cloudmqtt.com<\/span><\/a> <span style=\"font-weight: 400;\">o su un altro broker Mqtt a vostra scelta.<\/span><\/strong><\/p>\n<p><strong><\/strong><\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/cloudmqtt.jpg&#8221; title_text=&#8221;cloudmqtt&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><span style=\"font-weight: 400;\">Ora che abbiamo creato un account, \u00e8 necessario creare una nuova istanza.<\/span><\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/new-instance.jpg&#8221; title_text=&#8221;new instance&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Ricorda di prendere nota dei dati forniti dal broker:<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>MqttUser;<\/li>\n<li>MqttPassword;<\/li>\n<li>Nome del server Mqtt;<\/li>\n<li>Porta Mqtt.<\/li>\n<\/ul>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3><strong>STEP 3: Importare Sketch dal link github e scrivere i dati Mqtt<\/strong><strong><\/strong><\/h3>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Ora potrai importare lo sketch dal link github, modificare i parametri nella sezione <span style=\"font-weight: 400;\">\/\/\/\/MQTT SETUP\/\/\/\/ con i dati WiFi e l&#8217;istanza Mqtt personale.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Carica lo sketch su Lifely Agrumino Lemon con Arduino IDE.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Gli argomenti all&#8217;interno di uno sketch sono gi\u00e0 definiti, ma possono essere modificati.<\/span><\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;17px&#8221; background_color=&#8221;#000000&#8243; global_colors_info=&#8221;{}&#8221;]<\/p>\n<pre class=\"hljs pgsql\"><code><span>#<span class=\"hljs-keyword\">include<\/span> &lt;ESP8266WiFi.h&gt;<\/span><br \/><span>#<span class=\"hljs-keyword\">include<\/span> &lt;PubSubClient.h&gt;<\/span><br \/><span>#<span class=\"hljs-keyword\">include<\/span> &lt;Agrumino.h&gt;<\/span><br \/><span>#<span class=\"hljs-keyword\">include<\/span> &lt;Wire.h&gt;<\/span><br \/><span>#<span class=\"hljs-keyword\">include<\/span> \"Adafruit_VEML6075.h\"<\/span><br \/><span>#define SERIAL_BAUD <span class=\"hljs-number\">115200<\/span><\/span><br \/><span>#define DELAY <span class=\"hljs-number\">1000<\/span> \/\/\/ms <span class=\"hljs-type\">Time<\/span><\/span><br \/><span>#define WAITING_TIME <span class=\"hljs-number\">3000<\/span> \/\/\/ms <span class=\"hljs-type\">Time<\/span> <span class=\"hljs-keyword\">to<\/span> have <span class=\"hljs-keyword\">valid<\/span> data<\/span><br \/><span>#define SLEEP_TIME_SEC <span class=\"hljs-number\">1800<\/span> \/\/\/(s <span class=\"hljs-type\">Time<\/span>)<span class=\"hljs-keyword\">for<\/span> Agrumino Sleep (max <span class=\"hljs-number\">3600<\/span>ms)<\/span><br \/><span>#define CLIENT \/\/\/your mqtt client<\/span><br \/><span>Adafruit_VEML6075 uv = Adafruit_VEML6075();<\/span><br \/><span>Agrumino agrumino;<\/span><br \/><span>\/\/\/\/\/\/\/\/MQTT SETUP\/\/\/\/\/\/\/<\/span><br \/><span>const <span class=\"hljs-type\">char<\/span>* ssid = \"\"; \/\/\/Your ssid<\/span><br \/><span>const <span class=\"hljs-type\">char<\/span>* <span class=\"hljs-keyword\">password<\/span> =  \"\"; \/\/\/Your WiFi Password<\/span><br \/><span>const <span class=\"hljs-type\">char<\/span>* mqttServer = \"m24.cloudmqtt.com\"; \/\/\/Your Mqtt Server<\/span><br \/><span>const <span class=\"hljs-type\">int<\/span> mqttPort = ; \/\/\/Mqtt Port<\/span><br \/><span>const <span class=\"hljs-type\">char<\/span>* mqttUser = \"\"; \/\/\/Mqtt User<\/span><br \/><span>const <span class=\"hljs-type\">char<\/span>* mqttPassword = \"\"; \/\/\/Mqtt <span class=\"hljs-keyword\">password<\/span><\/span><br \/><span>#define TOPIC_INDEX \"\/Agrumino\/UVMeter\/UVindex\" \/\/\/setup topic <span class=\"hljs-keyword\">for<\/span> mqtt message \"Index UV\"<\/span><br \/><span>#define TOPIC_INDEX_VALUE \"\/Agrumino\/UVMeter\/UVvalue\" \/\/\/setup topic <span class=\"hljs-keyword\">for<\/span> mqtt message \"Index UV\"<\/span><br \/><span>#define TOPIC_WARNING \"\/Agrumino\/UVMeter\/Warning\" \/\/\/setup topic <span class=\"hljs-keyword\">for<\/span> mqtt message \"Warning message\"<\/span><br \/><span>#define TOPIC_BATTERY_L \"\/Agrumino\/UVMeter\/Battery\" \/\/\/setup topic <span class=\"hljs-keyword\">for<\/span> mqtt message \"Battery Voltage\"<\/span><br \/><span>WiFiClient CLIENT;<\/span><br \/><span>PubSubClient client(CLIENT);<\/span><br \/><span>\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<\/span><br \/><span><span class=\"hljs-type\">void<\/span> setup() {<\/span><br \/><span>agrumino.setup();<\/span><br \/><span>agrumino.turnBoardOn();<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.<span class=\"hljs-keyword\">begin<\/span>(SERIAL_BAUD);<\/span><br \/><span><span class=\"hljs-keyword\">if<\/span> (! uv.<span class=\"hljs-keyword\">begin<\/span>()) {<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Check wiring on sensor UV\");<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"VEML6075 sensor ok\");<\/span><br \/><span>WiFi.<span class=\"hljs-keyword\">begin<\/span>(ssid, <span class=\"hljs-keyword\">password<\/span>);<\/span><br \/><span><span class=\"hljs-keyword\">while<\/span> (WiFi.status() != WL_CONNECTED) {<\/span><br \/><span>delay(<span class=\"hljs-number\">200<\/span>);<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Connecting to WiFi..\");<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Connected to the WiFi network\");<\/span><br \/><span>client.setServer(mqttServer, mqttPort);<\/span><br \/><span>\/\/client.setCallback(callback);<\/span><br \/><span><span class=\"hljs-keyword\">while<\/span> (!client.connected()) {<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Connecting to MQTT...\");<\/span><br \/><span><span class=\"hljs-keyword\">if<\/span> (client.<span class=\"hljs-keyword\">connect<\/span>(\"ESP8266Client\", mqttUser, mqttPassword )) {<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"connected\");<\/span><br \/><span>blinkLedConectionOk();<\/span><br \/><span>delay(<span class=\"hljs-number\">500<\/span>);<\/span><br \/><span>} <span class=\"hljs-keyword\">else<\/span> {<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.print(\"Failed with state \");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.print(client.state());<\/span><br \/><span>delay(<span class=\"hljs-number\">500<\/span>);<\/span><br \/><span>}<\/span><br \/><span>}<\/span><br \/><span>uv.setIntegrationTime(VEML6075_200MS); \/\/\/\/Integration <span class=\"hljs-type\">time<\/span> <span class=\"hljs-keyword\">for<\/span> Lifely Agrumino Lemon <span class=\"hljs-keyword\">is<\/span> <span class=\"hljs-number\">200<\/span>ms<\/span><br \/><span>Serial.print(\"Integration time set to \");<\/span><br \/><span>switch (uv.getIntegrationTime()) {<\/span><br \/><span><span class=\"hljs-keyword\">case<\/span> VEML6075_50MS: <span class=\"hljs-type\">Serial<\/span>.print(\"50\"); break;<\/span><br \/><span><span class=\"hljs-keyword\">case<\/span> VEML6075_100MS: <span class=\"hljs-type\">Serial<\/span>.print(\"100\"); break;<\/span><br \/><span><span class=\"hljs-keyword\">case<\/span> VEML6075_200MS: <span class=\"hljs-type\">Serial<\/span>.print(\"200\"); break;<\/span><br \/><span><span class=\"hljs-keyword\">case<\/span> VEML6075_400MS: <span class=\"hljs-type\">Serial<\/span>.print(\"400\"); break;<\/span><br \/><span><span class=\"hljs-keyword\">case<\/span> VEML6075_800MS: <span class=\"hljs-type\">Serial<\/span>.print(\"800\"); break;<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"ms\");<\/span><br \/><span>\/\/ <span class=\"hljs-keyword\">Set<\/span> the high dynamic mode<\/span><br \/><span>uv.setHighDynamic(<span class=\"hljs-keyword\">false<\/span>);<\/span><br \/><span>\/\/ <span class=\"hljs-keyword\">Get<\/span> the mode<\/span><br \/><span>if (uv.getHighDynamic()) {<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"High dynamic reading mode\");<\/span><br \/><span>} <span class=\"hljs-keyword\">else<\/span> {<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Normal dynamic reading mode\");<\/span><br \/><span>}<\/span><br \/><span>uv.setForcedMode(<span class=\"hljs-keyword\">false<\/span>);<\/span><br \/><span><span class=\"hljs-keyword\">if<\/span> (uv.getForcedMode()) {<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Forced reading mode\");<\/span><br \/><span>} <span class=\"hljs-keyword\">else<\/span> {<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Continuous reading mode\");<\/span><br \/><span>}<\/span><br \/><span>\/\/ <span class=\"hljs-keyword\">Set<\/span> the calibration coefficients<\/span><br \/><span>uv.setCoefficients(<span class=\"hljs-number\">2.22<\/span>, <span class=\"hljs-number\">1.33<\/span>,  \/\/ UVA_A <span class=\"hljs-keyword\">and<\/span> UVA_B coefficients<\/span><br \/><span>2<span class=\"hljs-number\">.95<\/span>, <span class=\"hljs-number\">1.74<\/span>,  \/\/ UVB_C <span class=\"hljs-keyword\">and<\/span> UVB_D coefficients<\/span><br \/><span>0<span class=\"hljs-number\">.001461<\/span>, <span class=\"hljs-number\">0.002591<\/span>); \/\/ UVA <span class=\"hljs-keyword\">and<\/span> UVB responses<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-type\">void<\/span> readDataFromAgrumino() {<\/span><br \/><span><span class=\"hljs-type\">boolean<\/span> isAttachedToUSB =   agrumino.isAttachedToUSB();<\/span><br \/><span><span class=\"hljs-type\">boolean<\/span> isBatteryCharging = agrumino.isBatteryCharging();<\/span><br \/><span><span class=\"hljs-type\">boolean<\/span> isButtonPressed =   agrumino.isButtonPressed();<\/span><br \/><span><span class=\"hljs-type\">float<\/span> temperature =         agrumino.readTempC();<\/span><br \/><span>unsigned <span class=\"hljs-type\">int<\/span> soilMoisture = agrumino.readSoil();<\/span><br \/><span><span class=\"hljs-type\">float<\/span> illuminance =         agrumino.readLux();<\/span><br \/><span><span class=\"hljs-type\">float<\/span> batteryVoltage =      agrumino.readBatteryVoltage();<\/span><br \/><span>unsigned <span class=\"hljs-type\">int<\/span> batteryLevel = agrumino.readBatteryLevel();<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Data from Agrumino Sensors\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"isAttachedToUSB:   \" + String(isAttachedToUSB));<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"isBatteryCharging: \" + String(isBatteryCharging));<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"isButtonPressed:   \" + String(isButtonPressed));<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"temperature:       \" + String(temperature) + \"\u00b0C\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"soilMoisture:      \" + String(soilMoisture) + \"%\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"illuminance :      \" + String(illuminance) + \" lux\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"batteryVoltage :   \" + String(batteryVoltage) + \" V\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"batteryLevel :     \" + String(batteryLevel) + \"%\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"End\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"#########################\\n\");<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-type\">void<\/span> printDataFromVeml6075() {<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Data from Uv Sensor\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.print(\"Raw UVA reading:  \"); <span class=\"hljs-type\">Serial<\/span>.println(uv.readUVA());<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.print(\"Raw UVB reading:  \"); <span class=\"hljs-type\">Serial<\/span>.println(uv.readUVB());<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.print(\"UV Index reading: \"); <span class=\"hljs-type\">Serial<\/span>.println(uv.readUVI());<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"end data\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"\");<\/span><br \/><span><span class=\"hljs-type\">int<\/span> uvindex = uv.readUVI();<\/span><br \/><span>client.publish(TOPIC_INDEX_VALUE, (String(uv.readUVI()) + String(\"\")).c_str());<\/span><br \/><span>client.publish(TOPIC_BATTERY_L, (String(agrumino.readBatteryLevel()) + String(\"\")).c_str());<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Warning Message\");<\/span><br \/><span><span class=\"hljs-keyword\">if<\/span> (uvindex &lt; <span class=\"hljs-number\">1.99<\/span>) {<\/span><br \/><span>client.publish(TOPIC_INDEX, \"Low Level\");<\/span><br \/><span>client.publish(TOPIC_WARNING, \"Low level, wear sunglasses and hat\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Low level, wear sunglasses and hat\");<\/span><br \/><span>blinkLedMessageOk();<\/span><br \/><span>delay(DELAY);<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (uvindex &gt; <span class=\"hljs-number\">2.99<\/span> || uvindex &lt; <span class=\"hljs-number\">4.99<\/span>) {<\/span><br \/><span>client.publish(TOPIC_INDEX, \"Medium\/Low level\");<\/span><br \/><span>client.publish(TOPIC_WARNING, \"Medium\/Low level, wear sunglasses, hat and SFP 15+\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Medium\/Low level, wear sunglasses, hat and SFP 15+\");<\/span><br \/><span>blinkLedMessageOk();<\/span><br \/><span>delay(DELAY);<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (uvindex &gt; <span class=\"hljs-number\">5<\/span> || uvindex &lt; <span class=\"hljs-number\">6.99<\/span>) {<\/span><br \/><span>client.publish(TOPIC_INDEX, \"High level\");<\/span><br \/><span>client.publish(TOPIC_WARNING, \"High level, wear sunglasses, hat and SFP 30+\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"High level, wear sunglasses, hat and SFP 30+\");<\/span><br \/><span>blinkLedMessageOk();<\/span><br \/><span>delay(DELAY);<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (uvindex &gt; <span class=\"hljs-number\">7<\/span> || uvindex &lt; <span class=\"hljs-number\">11<\/span>) {<\/span><br \/><span>client.publish(TOPIC_INDEX, \"Very high level\");<\/span><br \/><span>client.publish(TOPIC_WARNING, \"Very high level, wear sunglasses, hat, sunscreen SFP 30 +, possibly avoid the sun\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Very high level, wear sunglasses, hat, sunscreen SFP 30 +, possibly avoid the sun\");<\/span><br \/><span>blinkLedMessageOk();<\/span><br \/><span>delay(DELAY);<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (uvindex &gt; <span class=\"hljs-number\">11<\/span>) {<\/span><br \/><span>client.publish(TOPIC_INDEX, \"Extreme level\");<\/span><br \/><span>client.publish(TOPIC_WARNING, \"Extreme level,very dangerous, take all possible precautions, it would be better to stay inside\");<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"Extreme level,very dangerous, take all possible precautions, it would be better to stay inside\");<\/span><br \/><span>blinkLedMessageOk();<\/span><br \/><span>delay(DELAY);<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.println(\"\");<\/span><br \/><span>}<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-type\">void<\/span> <span class=\"hljs-keyword\">loop<\/span>() {<\/span><br \/><span>delay(WAITING_TIME);<\/span><br \/><span>client.<span class=\"hljs-keyword\">loop<\/span>();<\/span><br \/><span>\/\/ readDataFromAgrumino(); \/\/\/uncomment <span class=\"hljs-keyword\">for<\/span> print data <span class=\"hljs-keyword\">into<\/span> a <span class=\"hljs-type\">serial<\/span> monitor<\/span><br \/><span>printDataFromVeml6075();<\/span><br \/><span>\/\/ delaySec(SLEEP_TIME_SEC); \/\/ The ESP8266 stays powered, executes the <span class=\"hljs-keyword\">loop<\/span> repeatedly<\/span><br \/><span>deepSleepSec(SLEEP_TIME_SEC); \/\/ ESP8266 enter <span class=\"hljs-keyword\">in<\/span> deepSleep <span class=\"hljs-keyword\">and<\/span> <span class=\"hljs-keyword\">after<\/span> the selected <span class=\"hljs-type\">time<\/span> starts back <span class=\"hljs-keyword\">from<\/span> setup() <span class=\"hljs-keyword\">and<\/span> <span class=\"hljs-keyword\">then<\/span> <span class=\"hljs-keyword\">loop<\/span>()<\/span><br \/><span><span class=\"hljs-type\">Serial<\/span>.print(\"Bye Bye.... I'm sleep\");<\/span><br \/><span>delay(DELAY);<\/span><br \/><span>agrumino.turnBoardOff();<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-type\">void<\/span> delaySec(<span class=\"hljs-type\">int<\/span> sec) {<\/span><br \/><span>delay (sec * <span class=\"hljs-number\">1000<\/span>);<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-type\">void<\/span> deepSleepSec(<span class=\"hljs-type\">int<\/span> sec) {<\/span><br \/><span>ESP.deepSleep(sec * <span class=\"hljs-number\">1000000<\/span>); \/\/ microseconds<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-type\">void<\/span> blinkLedConectionOk() {<\/span><br \/><span>agrumino.turnLedOn();<\/span><br \/><span>delay(<span class=\"hljs-number\">100<\/span>);<\/span><br \/><span>agrumino.turnLedOff();<\/span><br \/><span>delay(<span class=\"hljs-number\">100<\/span>);<\/span><br \/><span>agrumino.turnLedOn();<\/span><br \/><span>delay(<span class=\"hljs-number\">100<\/span>);<\/span><br \/><span>agrumino.turnLedOff();<\/span><br \/><span>agrumino.turnLedOn();<\/span><br \/><span>delay(<span class=\"hljs-number\">100<\/span>);<\/span><br \/><span>agrumino.turnLedOff();<\/span><br \/><span>delay(<span class=\"hljs-number\">100<\/span>);<\/span><br \/><span>agrumino.turnLedOn();<\/span><br \/><span>delay(<span class=\"hljs-number\">100<\/span>);<\/span><br \/><span>agrumino.turnLedOff();<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-type\">void<\/span> blinkLedMessageOk() {<\/span><br \/><span>agrumino.turnLedOn();<\/span><br \/><span>delay(<span class=\"hljs-number\">200<\/span>);<\/span><br \/><span>agrumino.turnLedOff();<\/span><br \/><span>delay(<span class=\"hljs-number\">200<\/span>);<\/span><br \/><span>agrumino.turnLedOn();<\/span><br \/><span>delay(<span class=\"hljs-number\">200<\/span>);<\/span><br \/><span>agrumino.turnLedOff();<\/span><br \/><span>}<\/span><\/code><\/pre>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3><strong>STEP 4: Configurare l&#8217;APP Android Mqtt Dash e mostrare i dati<\/strong><strong><\/strong><strong><\/strong><\/h3>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Scarica l&#8217;applicazione e inizia a scrivere i dati dell&#8217;istanza Mqtt personale.<\/p>\n<p>Scrivere anche gli stessi argomenti riportati nello sketch<\/p>\n<p>[\/et_pb_text][et_pb_gallery gallery_ids=&#8221;3904,3900,3898,3902&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; width=&#8221;26%&#8221; width_tablet=&#8221;26%&#8221; width_phone=&#8221;26%&#8221; width_last_edited=&#8221;on|phone&#8221; max_width=&#8221;72%&#8221; max_width_tablet=&#8221;72%&#8221; max_width_phone=&#8221;72%&#8221; max_width_last_edited=&#8221;on|phone&#8221; module_alignment=&#8221;center&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_gallery][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Ora il tuo misuratore UV reallizato con Lifely Agrumino Lemon \u00e8 pronto per essere utilizzato!<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/misuratore-uv.jpg&#8221; title_text=&#8221;misuratore uv&#8221; align=&#8221;center&#8221; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><span style=\"font-weight: 400;\">Il cruscotto pu\u00f2 essere personalizzato con altri dati, come la temperatura, l&#8217;umidit\u00e0 del suolo e la luminosit\u00e0 trasmessi dai sensori integrati in Agrumino.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In questo sketch il dispositivo invia messaggi per avvisare della gravit\u00e0 delle radiazioni e scrive consigli per proteggerci.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I messaggi possono essere personalizzati.<\/span><\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;17px&#8221; background_color=&#8221;#000000&#8243; global_colors_info=&#8221;{}&#8221;]<\/p>\n<pre class=\"hljs less\"><code><span><span class=\"hljs-selector-tag\">if<\/span> (uvindex &lt; <span class=\"hljs-number\">1.99<\/span>) {<\/span><br \/><span><span class=\"hljs-selector-tag\">client<\/span><span class=\"hljs-selector-class\">.publish<\/span>(TOPIC_INDEX, <span class=\"hljs-string\">\"Low Level\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">client<\/span><span class=\"hljs-selector-class\">.publish<\/span>(TOPIC_WARNING, <span class=\"hljs-string\">\"Low level, wear sunglasses and hat\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">Serial<\/span><span class=\"hljs-selector-class\">.println<\/span>(<span class=\"hljs-string\">\"Low level, wear sunglasses and hat\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">blinkLedMessageOk<\/span>();<\/span><br \/><span><span class=\"hljs-selector-tag\">delay<\/span>(DELAY);<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-selector-tag\">else<\/span> <span class=\"hljs-selector-tag\">if<\/span> (uvindex &gt; <span class=\"hljs-number\">2.99<\/span> || uvindex &lt; <span class=\"hljs-number\">4.99<\/span>) {<\/span><br \/><span><span class=\"hljs-selector-tag\">client<\/span><span class=\"hljs-selector-class\">.publish<\/span>(TOPIC_INDEX, <span class=\"hljs-string\">\"Medium\/Low level\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">client<\/span><span class=\"hljs-selector-class\">.publish<\/span>(TOPIC_WARNING, <span class=\"hljs-string\">\"Medium\/Low level, wear sunglasses, hat and SFP 15+\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">Serial<\/span><span class=\"hljs-selector-class\">.println<\/span>(<span class=\"hljs-string\">\"Medium\/Low level, wear sunglasses, hat and SFP 15+\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">blinkLedMessageOk<\/span>();<\/span><br \/><span><span class=\"hljs-selector-tag\">delay<\/span>(DELAY);<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-selector-tag\">else<\/span> <span class=\"hljs-selector-tag\">if<\/span> (uvindex &gt; <span class=\"hljs-number\">5<\/span> || uvindex &lt; <span class=\"hljs-number\">6.99<\/span>) {<\/span><br \/><span><span class=\"hljs-selector-tag\">client<\/span><span class=\"hljs-selector-class\">.publish<\/span>(TOPIC_INDEX, <span class=\"hljs-string\">\"High level\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">client<\/span><span class=\"hljs-selector-class\">.publish<\/span>(TOPIC_WARNING, <span class=\"hljs-string\">\"High level, wear sunglasses, hat and SFP 30+\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">Serial<\/span><span class=\"hljs-selector-class\">.println<\/span>(<span class=\"hljs-string\">\"High level, wear sunglasses, hat and SFP 30+\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">blinkLedMessageOk<\/span>();<\/span><br \/><span><span class=\"hljs-selector-tag\">delay<\/span>(DELAY);<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-selector-tag\">else<\/span> <span class=\"hljs-selector-tag\">if<\/span> (uvindex &gt; <span class=\"hljs-number\">7<\/span> || uvindex &lt; <span class=\"hljs-number\">11<\/span>) {<\/span><br \/><span><span class=\"hljs-selector-tag\">client<\/span><span class=\"hljs-selector-class\">.publish<\/span>(TOPIC_INDEX, <span class=\"hljs-string\">\"Very high level\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">client<\/span><span class=\"hljs-selector-class\">.publish<\/span>(TOPIC_WARNING, <span class=\"hljs-string\">\"Very high level, wear sunglasses, hat, sunscreen SFP 30 +, possibly avoid the sun\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">Serial<\/span><span class=\"hljs-selector-class\">.println<\/span>(<span class=\"hljs-string\">\"Very high level, wear sunglasses, hat, sunscreen SFP 30 +, possibly avoid the sun\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">blinkLedMessageOk<\/span>();<\/span><br \/><span><span class=\"hljs-selector-tag\">delay<\/span>(DELAY);<\/span><br \/><span>}<\/span><br \/><span><span class=\"hljs-selector-tag\">else<\/span> <span class=\"hljs-selector-tag\">if<\/span> (uvindex &gt; <span class=\"hljs-number\">11<\/span>) {<\/span><br \/><span><span class=\"hljs-selector-tag\">client<\/span><span class=\"hljs-selector-class\">.publish<\/span>(TOPIC_INDEX, <span class=\"hljs-string\">\"Extreme level\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">client<\/span><span class=\"hljs-selector-class\">.publish<\/span>(TOPIC_WARNING, <span class=\"hljs-string\">\"Extreme level,very dangerous, take all possible precautions, it would be better to stay inside\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">Serial<\/span><span class=\"hljs-selector-class\">.println<\/span>(<span class=\"hljs-string\">\"Extreme level,very dangerous, take all possible precautions, it would be better to stay inside\"<\/span>);<\/span><br \/><span><span class=\"hljs-selector-tag\">blinkLedMessageOk<\/span>();<\/span><br \/><span><span class=\"hljs-selector-tag\">delay<\/span>(DELAY);<\/span><br \/><span><span class=\"hljs-selector-tag\">Serial<\/span><span class=\"hljs-selector-class\">.println<\/span>(<span class=\"hljs-string\">\"\"<\/span>);<\/span><br \/><span>}<\/span><\/code><\/pre>\n<p>[\/et_pb_text][et_pb_code _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_code][et_pb_code _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_code][et_pb_code _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_code][et_pb_code _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_code][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3><strong>Dati sul monitor seriale di Arduino IDE<\/strong><strong><\/strong><strong><\/strong><\/h3>\n<p>[\/et_pb_text][et_pb_gallery gallery_ids=&#8221;3910,3908&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_gallery][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3><strong>Conclusioni<\/strong><strong><\/strong><strong><\/strong><\/h3>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;17px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><span style=\"font-weight: 400;\">Con questo semplice esempio \u00e8 possibile costruire un UvMeter tascabile molto preciso.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ma questo progetto dovrebbe essere visto solo come l&#8217;inizio di un progetto molto pi\u00f9 ampio.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Hai un&#8217;idea interessante da poter realizzare con l&#8217;Agrumino Lemon? Scrivici!<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/www.lifely.cc\/blog\/&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Torna al blog&#8221; button_alignment=&#8221;center&#8221; button_alignment_tablet=&#8221;center&#8221; button_alignment_phone=&#8221;left&#8221; button_alignment_last_edited=&#8221;on|phone&#8221; _builder_version=&#8221;4.21.0&#8243; custom_button=&#8221;on&#8221; button_text_size=&#8221;16px&#8221; button_bg_color=&#8221;#87bc6b&#8221; button_border_width=&#8221;0px&#8221; button_border_color=&#8221;#d69be5&#8243; button_border_radius=&#8221;0px&#8221; button_letter_spacing=&#8221;2px&#8221; button_font=&#8221;|700||on|||||&#8221; button_icon=&#8221;&#x24;||divi||400&#8243; background_layout=&#8221;dark&#8221; custom_margin=&#8221;|||&#8221; custom_margin_tablet=&#8221;||70px|&#8221; custom_margin_phone=&#8221;||35px|||&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; custom_padding=&#8221;16px|40px|16px|40px|true|true&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; button_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221;][\/et_pb_button][et_pb_social_media_follow _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_social_media_follow_network social_network=&#8221;facebook&#8221; url=&#8221;https:\/\/it-it.facebook.com\/lifelystartup\/&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#3b5998&#8243; global_colors_info=&#8221;{}&#8221; follow_button=&#8221;off&#8221; url_new_window=&#8221;on&#8221;]facebook[\/et_pb_social_media_follow_network][et_pb_social_media_follow_network social_network=&#8221;twitter&#8221; url=&#8221;https:\/\/twitter.com\/lifelystartup&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#00aced&#8221; global_colors_info=&#8221;{}&#8221; follow_button=&#8221;off&#8221; url_new_window=&#8221;on&#8221;]twitter[\/et_pb_social_media_follow_network][et_pb_social_media_follow_network social_network=&#8221;instagram&#8221; url=&#8221;https:\/\/www.instagram.com\/lifelystartup\/&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ea2c59&#8243; global_colors_info=&#8221;{}&#8221; follow_button=&#8221;off&#8221; url_new_window=&#8221;on&#8221;]instagram[\/et_pb_social_media_follow_network][\/et_pb_social_media_follow][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lifely Agrumino Lemon &#8211; Misuratore UV tascabile con MQTTBenvenuti ad un nuovo articolo del blog di Lifely! Oggi vi parleremo di un progetto realizzabile con il nostro dispositivo Lifely Agrumino Lemon: un misuratore uv tascabile con MQTT. Il nostro Lifely Agrumino Lemon \u00e8 un dispositivo open-source, programmabile per ogni esigenza. Infatti, se sei un makers [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3886,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"1080","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_joinchat":[],"footnotes":""},"categories":[254],"tags":[],"class_list":["post-3877","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-it"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Lifely Agrumino Lemon - Misuratore Uv tascabile con MQTT - Lifely<\/title>\n<meta name=\"description\" content=\"Sapevi che puoi utilizzare il nostro Lifely Agrumino Lemon per realizzare un misuratore Uv tascabile? Leggi il nostro articolo e scopri come!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lifely Agrumino Lemon - Misuratore Uv tascabile con MQTT - Lifely\" \/>\n<meta property=\"og:description\" content=\"Sapevi che puoi utilizzare il nostro Lifely Agrumino Lemon per realizzare un misuratore Uv tascabile? Leggi il nostro articolo e scopri come!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/\" \/>\n<meta property=\"og:site_name\" content=\"Lifely\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/lifelystartup\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-03T07:55:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-17T13:41:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/Agrumino-uv-meter.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"525\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@LifelyStartup\" \/>\n<meta name=\"twitter:site\" content=\"@LifelyStartup\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.lifely.cc\/#\/schema\/person\/cf7a74f6fe430a1ab6f9989bce74906d\"},\"headline\":\"Lifely Agrumino Lemon &#8211; Misuratore Uv tascabile con MQTT\",\"datePublished\":\"2023-07-03T07:55:34+00:00\",\"dateModified\":\"2024-04-17T13:41:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/\"},\"wordCount\":1771,\"publisher\":{\"@id\":\"https:\/\/www.lifely.cc\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/Agrumino-uv-meter.jpg\",\"articleSection\":[\"blog\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/\",\"url\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/\",\"name\":\"Lifely Agrumino Lemon - Misuratore Uv tascabile con MQTT - Lifely\",\"isPartOf\":{\"@id\":\"https:\/\/www.lifely.cc\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/Agrumino-uv-meter.jpg\",\"datePublished\":\"2023-07-03T07:55:34+00:00\",\"dateModified\":\"2024-04-17T13:41:15+00:00\",\"description\":\"Sapevi che puoi utilizzare il nostro Lifely Agrumino Lemon per realizzare un misuratore Uv tascabile? Leggi il nostro articolo e scopri come!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#primaryimage\",\"url\":\"https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/Agrumino-uv-meter.jpg\",\"contentUrl\":\"https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/Agrumino-uv-meter.jpg\",\"width\":700,\"height\":525},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.lifely.cc\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lifely Agrumino Lemon &#8211; Misuratore Uv tascabile con MQTT\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.lifely.cc\/#website\",\"url\":\"https:\/\/www.lifely.cc\/\",\"name\":\"Lifely\",\"description\":\"Social Internet of Things\",\"publisher\":{\"@id\":\"https:\/\/www.lifely.cc\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.lifely.cc\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.lifely.cc\/#organization\",\"name\":\"Lifely\",\"url\":\"https:\/\/www.lifely.cc\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.lifely.cc\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.lifely.cc\/wp-content\/uploads\/2017\/10\/LifelyLogoHeader.png\",\"contentUrl\":\"https:\/\/www.lifely.cc\/wp-content\/uploads\/2017\/10\/LifelyLogoHeader.png\",\"width\":220,\"height\":120,\"caption\":\"Lifely\"},\"image\":{\"@id\":\"https:\/\/www.lifely.cc\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/lifelystartup\",\"https:\/\/x.com\/LifelyStartup\",\"https:\/\/www.instagram.com\/lifelystartup\/\",\"https:\/\/www.linkedin.com\/company\/lifely-talking-objects\/\",\"https:\/\/www.pinterest.com\/lifelyofficial\/\",\"https:\/\/www.youtube.com\/lifelycc\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.lifely.cc\/#\/schema\/person\/cf7a74f6fe430a1ab6f9989bce74906d\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.lifely.cc\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0b097c2f8da0c10a104c336e5c6454f8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0b097c2f8da0c10a104c336e5c6454f8?s=96&d=mm&r=g\",\"caption\":\"admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lifely Agrumino Lemon - Misuratore Uv tascabile con MQTT - Lifely","description":"Sapevi che puoi utilizzare il nostro Lifely Agrumino Lemon per realizzare un misuratore Uv tascabile? Leggi il nostro articolo e scopri come!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/","og_locale":"it_IT","og_type":"article","og_title":"Lifely Agrumino Lemon - Misuratore Uv tascabile con MQTT - Lifely","og_description":"Sapevi che puoi utilizzare il nostro Lifely Agrumino Lemon per realizzare un misuratore Uv tascabile? Leggi il nostro articolo e scopri come!","og_url":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/","og_site_name":"Lifely","article_publisher":"https:\/\/www.facebook.com\/lifelystartup","article_published_time":"2023-07-03T07:55:34+00:00","article_modified_time":"2024-04-17T13:41:15+00:00","og_image":[{"width":700,"height":525,"url":"https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/Agrumino-uv-meter.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@LifelyStartup","twitter_site":"@LifelyStartup","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"8 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#article","isPartOf":{"@id":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/"},"author":{"name":"admin","@id":"https:\/\/www.lifely.cc\/#\/schema\/person\/cf7a74f6fe430a1ab6f9989bce74906d"},"headline":"Lifely Agrumino Lemon &#8211; Misuratore Uv tascabile con MQTT","datePublished":"2023-07-03T07:55:34+00:00","dateModified":"2024-04-17T13:41:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/"},"wordCount":1771,"publisher":{"@id":"https:\/\/www.lifely.cc\/#organization"},"image":{"@id":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/Agrumino-uv-meter.jpg","articleSection":["blog"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/","url":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/","name":"Lifely Agrumino Lemon - Misuratore Uv tascabile con MQTT - Lifely","isPartOf":{"@id":"https:\/\/www.lifely.cc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#primaryimage"},"image":{"@id":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/Agrumino-uv-meter.jpg","datePublished":"2023-07-03T07:55:34+00:00","dateModified":"2024-04-17T13:41:15+00:00","description":"Sapevi che puoi utilizzare il nostro Lifely Agrumino Lemon per realizzare un misuratore Uv tascabile? Leggi il nostro articolo e scopri come!","breadcrumb":{"@id":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#primaryimage","url":"https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/Agrumino-uv-meter.jpg","contentUrl":"https:\/\/www.lifely.cc\/wp-content\/uploads\/2023\/07\/Agrumino-uv-meter.jpg","width":700,"height":525},{"@type":"BreadcrumbList","@id":"https:\/\/www.lifely.cc\/it\/agrumino-lemon-misuratore-uv-tascabile\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lifely.cc\/it\/"},{"@type":"ListItem","position":2,"name":"Lifely Agrumino Lemon &#8211; Misuratore Uv tascabile con MQTT"}]},{"@type":"WebSite","@id":"https:\/\/www.lifely.cc\/#website","url":"https:\/\/www.lifely.cc\/","name":"Lifely","description":"Social Internet of Things","publisher":{"@id":"https:\/\/www.lifely.cc\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lifely.cc\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.lifely.cc\/#organization","name":"Lifely","url":"https:\/\/www.lifely.cc\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.lifely.cc\/#\/schema\/logo\/image\/","url":"https:\/\/www.lifely.cc\/wp-content\/uploads\/2017\/10\/LifelyLogoHeader.png","contentUrl":"https:\/\/www.lifely.cc\/wp-content\/uploads\/2017\/10\/LifelyLogoHeader.png","width":220,"height":120,"caption":"Lifely"},"image":{"@id":"https:\/\/www.lifely.cc\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/lifelystartup","https:\/\/x.com\/LifelyStartup","https:\/\/www.instagram.com\/lifelystartup\/","https:\/\/www.linkedin.com\/company\/lifely-talking-objects\/","https:\/\/www.pinterest.com\/lifelyofficial\/","https:\/\/www.youtube.com\/lifelycc"]},{"@type":"Person","@id":"https:\/\/www.lifely.cc\/#\/schema\/person\/cf7a74f6fe430a1ab6f9989bce74906d","name":"admin","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.lifely.cc\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0b097c2f8da0c10a104c336e5c6454f8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0b097c2f8da0c10a104c336e5c6454f8?s=96&d=mm&r=g","caption":"admin"}}]}},"_links":{"self":[{"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/posts\/3877"}],"collection":[{"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/comments?post=3877"}],"version-history":[{"count":1,"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/posts\/3877\/revisions"}],"predecessor-version":[{"id":5061,"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/posts\/3877\/revisions\/5061"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/media\/3886"}],"wp:attachment":[{"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/media?parent=3877"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/categories?post=3877"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lifely.cc\/it\/wp-json\/wp\/v2\/tags?post=3877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}