<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Matheus Calegaro</title>
    <description>The latest articles on DEV Community by Matheus Calegaro (@matheus).</description>
    <link>https://dev.to/matheus</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F7863%2F3534c758-1ba0-4de6-9b94-94c5aa0edc8a.jpg</url>
      <title>DEV Community: Matheus Calegaro</title>
      <link>https://dev.to/matheus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/matheus"/>
    <language>en</language>
    <item>
      <title>Automating my standing desk with Alexa and a Raspberry Pico W</title>
      <dc:creator>Matheus Calegaro</dc:creator>
      <pubDate>Wed, 06 Sep 2023 15:04:09 +0000</pubDate>
      <link>https://dev.to/matheus/automating-my-standing-desk-with-alexa-and-a-raspberry-pico-w-2cm7</link>
      <guid>https://dev.to/matheus/automating-my-standing-desk-with-alexa-and-a-raspberry-pico-w-2cm7</guid>
      <description>&lt;h2&gt;
  
  
  Why
&lt;/h2&gt;

&lt;p&gt;I love my standing desk, it's been a game changer for my posture and for my setup aesthetics. However, I'm lazy and I don't like having to manually adjust its height. I also love my Echo Dot and I wanted to see if I could make my desk voice-controlled. This project is the result of that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can preview it on my &lt;a href="https://www.instagram.com/reel/Cw2py_LOZWy/?utm_source=ig_web_copy_link&amp;amp;igshid=MzRlODBiNWFlZA=="&gt;Instagram Reel&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3QWPafFR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h962xgax9brhbcm7na0s.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3QWPafFR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h962xgax9brhbcm7na0s.jpg" alt="Flow diagram" width="800" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It all starts by invoking the Alexa skill with the "subir a mesa" or "descer a mesa" intents, which are handled by the &lt;a href="https://ifttt.com/amazon_alexa"&gt;native IFTT integration&lt;/a&gt;. According to the received instruction, IFTT then sends a message ("UP" or "DOWN") to the &lt;a href="https://io.adafruit.com/"&gt;Adafruit IO&lt;/a&gt; MQTT broker, whom then publishes the message to a specific topic that the Pico W is subscribed to.&lt;/p&gt;

&lt;p&gt;When a message is received, the Pico W sends a signal to the corresponding 4n35 optocoupler, which is connected to the desk's pre-programmed up/down buttons. The optocoupler acts as a switch, closing the circuit and triggering the button press.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4ku_jigJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t7rmf0p8ix2jilyhq8r4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4ku_jigJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t7rmf0p8ix2jilyhq8r4.jpg" alt="Image description" width="800" height="1036"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;This project was built using the &lt;a href="https://dronebotworkshop.com/picow-arduino/"&gt;Pico W Arduino Framework integration&lt;/a&gt; and the code is available &lt;a href="https://github.com/mathcale/standing-desk-alexa-integration"&gt;on my GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It's pretty straightforward, it just subscribes to the Adafruit IO MQTT broker and listens for messages, after connecting to the specified wifi network. When a message is received (being &lt;code&gt;UP&lt;/code&gt; or &lt;code&gt;DOWN&lt;/code&gt;), it triggers the corresponding optocoupler.&lt;/p&gt;

&lt;p&gt;I haven't tried it yet, but I think it should be easy to port it over to the ESP32/ESP8266, since the code is pretty simple and the Adafruit IO MQTT library is compatible with both.&lt;/p&gt;

&lt;h2&gt;
  
  
  The end
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed this fun little project like I did building it. If you have any questions or suggestions, feel free to comment down below or reach out to me using the links on &lt;a href="https://matheus.me"&gt;my site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Happy hacking =)&lt;/p&gt;

</description>
      <category>automation</category>
      <category>raspberrypi</category>
      <category>diy</category>
      <category>programming</category>
    </item>
    <item>
      <title>Tips on how to write a technical book</title>
      <dc:creator>Matheus Calegaro</dc:creator>
      <pubDate>Mon, 21 Jan 2019 15:15:02 +0000</pubDate>
      <link>https://dev.to/matheus/tips-on-how-to-write-a-technical-book-23k4</link>
      <guid>https://dev.to/matheus/tips-on-how-to-write-a-technical-book-23k4</guid>
      <description>&lt;p&gt;I did a talk about React at my job and everyone really enjoyed the content and the way it was presented. I'm happy with the feedback and felt inspired to continue learning and teaching on this subject. That's when I had the idea to write a book.&lt;/p&gt;

&lt;p&gt;I'm passionate about education and software development and I'm always trying to learn something new every day. Because of this, I feel that I can't keep what I learned just for me, I feel that I have to share it in the best way possible, so more people can learn and improve their skills.&lt;/p&gt;

&lt;p&gt;Today I have about 4 years of professional experience, and it worries me if people would be interested in my book, since I do not have such a strong name in the community. I also don't know about proper writing, formatting, publishing and pricing.&lt;/p&gt;

&lt;p&gt;I'm thinking about a big tutorial, but organized in chapters with (no so deep) clear explanations. Is this "tutorial" mindset the same for a book?&lt;/p&gt;

&lt;p&gt;Any tip will be welcome!&lt;/p&gt;

</description>
      <category>help</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
