przesyłanie wiadomości w czasie rzeczywistym dla ESP32 z dołączonymi bateriami (nowa biblioteka) (połączone)

przesyłanie wiadomości w czasie rzeczywistym dla ESP32 z dołączonymi bateriami (nowa biblioteka) (połączone)


Często hackuję sprzęt, w Inanimate i w domu.

Sztuczna inteligencja jest w chmurze. Interakcja odbywa się w moim pokoju i w moich rękach. Praca zawsze zaczyna się od połączenia tych dwóch końcówek.

Drugą rzeczą, którą robię za każdym razem, jest wywoływanie wiadomości w czasie rzeczywistym za pomocą JSON za pośrednictwem gniazd sieciowych, dzięki czemu mogę podłączyć moje nowe urządzenie do serwera, emitować zdarzenia i nasłuchiwać poleceń.

(Pierwszą rzeczą, którą robię, jest przywołanie sprzętu i zdobycie podstawowych świateł mrugających.)

Chcę, aby mój klient websocket na urządzeniu miał bardzo łatwy interfejs: daj mi onMessage handler do obsługi przychodzących wiadomości.

Potrzebuję wbudowanej konfiguracji Wi-Fi (aby móc przenosić mój prototyp w różne miejsca). Nie chcę też wybierać, których bibliotek będę używać za każdym razem, chcę mieć dobre ustawienia domyślne.

To właśnie robi Courier w zaledwie kilku wierszach.

Szczerze mówiąc, to nie jest nauka o rakietach. To nic wielkiego. Ale to decyzje, które podejmuję, i szablony, które muszę pisać dla każdego nowego projektu, a nie chcę wprawiać kodu i testować tego fragmentu za każdym razem… Chcę tylko, żeby to zadziałało. Dlatego osobiście uważam, że Courier jest przydatny. W duchu dzielenia się mam nadzieję, że będzie to przydatne również dla Ciebie.

Znajdź kod i plik README tutaj: Courier w GitHub

Szybki start

Kurier wykonuje niewielką i niezbędną pracę (wysyłanie wiadomości) w najprostszy możliwy sposób.

Załóżmy, że używasz Arduino na ESP32. O ESP32 powiem więcej za chwilę.

Dodaj Courier do swojego projektu (zalecamy zarządzanie projektem za pomocą PlatformIO):

lib_deps = https://github.com/inanimate-tech/courier.git

Oto cały potrzebny kod C++:

#include 

CourierConfig makeConfig() {
  CourierConfig cfg;
  cfg.host = "api.example.com";
  cfg.port = 443;
  cfg.path = "/ws";
  return cfg;
}

Courier courier(makeConfig());

void setup() {
  courier.onConnected(()() { courier.send(R"({"type":"hello"})"); });
  courier.onMessage(()(const char* type, JsonDocument& doc) {
    Serial.printf("Got: %s\n", type);
  });
  courier.setup();
}

void loop() { courier.loop(); }

Teraz Twój serwer może wysyłać wiadomości w czasie rzeczywistym w formacie JSON do Twojego urządzenia, a Twoje urządzenie może je obsłużyć. (Wyciąga type automatycznie, co ułatwia wyznaczanie tras.)

To wszystko!

Nie musisz kodować na stałe szczegółów Wi-Fi w swoim kodzie. Courier udostępnia WiFiManager w celu zapewnienia łączności przenośnej: jeśli nie można znaleźć sieci, ta biblioteka wyświetla własny punkt dostępu i otwiera portal przechwytujący.

Otrzymujesz także za darmo: rozsądną automatyczną naprawę zarówno gniazda, jak i Wi-Fi, synchronizację czasu NTP, dzięki czemu wewnętrzny zegar nie dryfuje i nie przerywa bezpiecznego połączenia (co ma miejsce po około 72 godzinach) oraz łatwą ścieżkę aktualizacji do MQTT.

Wypróbuj Courier z M5Stick

ESP32 to rodzina mikrokontrolerów, która zajmuje szczególne miejsce w ekosystemie sprzętowym: dzięki niskiemu kosztowi, wbudowanemu Wi-Fi i Bluetooth oraz łatwości programowania,

  • jest to platforma wybierana dla nowych start-upów sprzętowych
  • i świetnie sprawdza się w produkcji na rynek masowy.

Ma nawet platformę kompatybilności z Arduino, więc możesz zacząć od tego, a następnie iterować w miarę upływu czasu. Przejście z warsztatu do produkcji w ten sposób jest dość wyjątkowe.

Dlatego uwielbiamy ESP32 w Inanimate.

Dużym graczem w ekosystemie ESP32 jest firma M5: ma siedzibę w Chinach i ma około 400 jednostek SKU, które otaczają mikrokontrolery ESP32 we wszelkiego rodzaju obudowach z wszelkiego rodzaju urządzeniami peryferyjnymi i czujnikami. Świetnie się bawiłem, osobiście zwiedzając firmę M5, kiedy w zeszłym roku odwiedziłem Shenzhen – firma korzysta z własnych czujników w przemysłowej sieci IoT do obsługi i monitorowania swojej linii montażowej.

Być może widziałeś już jeden lub dwa M5Stick w mediach społecznościowych. Są bardzo popularne, przynajmniej w moim kręgu, ludzie uwielbiają je hakować.

Kup M5Stick-C Plus2 na Amazon za mniej niż 30 dolarów! To ESP32 z ekranem, przyciskami, brzęczykiem, żyroskopem, baterią i mikrofonem w maleńkim jasnożółtym opakowaniu.

Zdobądź jeden lub dwa, postępując zgodnie z dokumentacją, a następnie zainstaluj Courier…

…lub skorzystaj z naszego przykładowego kodu. Nasz przykład obsługuje również nowszą wersję M5StickS3, która jest szara i ma mocniejszy chip.

Oto, co zrobiłem, korzystając z przesyłania wiadomości w czasie rzeczywistym i mojego serwera websocket:

Mój mały facet od ruchu drogowego podaje mi w czasie rzeczywistym najpopularniejsze strony mojego bloga ^_^ v

Mam aktywne kursory na każdej stronie mojego bloga (napisany kod i otwarty kod źródłowy), dzięki czemu ten sam system wysyła wiadomości JSON za pośrednictwem gniazd internetowych do M5Stick na moim biurku.

Jeśli post staje się duży, kładę kij na biurku, więc od razu go widzę, a następnie wpadam na stronę i witam się ze wszystkimi za pomocą czatu z kursorem.

Więcej gości = więcej kwiatów!

Plus: wstrząśnij kodem QR, dzięki czemu mogę szybko skorzystać z linku z powrotem do pierwszego posta.

To niesamowite, kiedy sprzęt zaczyna ożywać.

Pokaż mi, jeśli też coś robisz.

Wypróbuj teraz usługę Courier

Aby już teraz korzystać z Courier, najpierw uruchom M5Stick lub inny sprzęt ESP32, aby upewnić się, że działa poprawnie, a następnie przejdź do repozytorium Courier w GitHub, gdzie znajdziesz instrukcje instalacji, dokumentację API i przykłady.

Jest w fazie aktywnego rozwoju: tego właśnie używamy do prototypowania w Inanimate. Hej, zapisz się do naszego newslettera Lab Notes!

Courier jest rozpowszechniany na licencji MIT.



Source link

Postagens Similares

  • Google Ads gör samtalsinspelning som standard för AI-lead-samtal

    Google Ads har aktiverat samtalsinspelning som standard för kvalificerade samtalsflöden som är kopplade till AI-kvalificerade samtalsleads, med undantag för tidigare bortval och vissa känsliga vertikaler. En ny Google-supportsida beskriver funktionen, som använder AI för att utvärdera telefonkonversationer istället för att förlita sig på enbart samtalslängd för att räkna konverteringar. Vad förändrades Google Ads klassificerade tidigare…

  • 搜索中的偏见:可见性,感知和控制

    搜索中的偏见并不总是负面的。很容易将其作为险恶的东西,但是出于结构原因,行为原因,有时是故意的选择而出现偏见。营销人员和传播者的真正任务是认识到它何时发生,这对可见性,感知和控制意味着什么。 最近的两篇文章让我对此更深入地思考。首先是Dejan对选择率(SR)的探索,该探索强调了AI系统如何偏爱某些来源而不是其他来源。第二个是比尔·哈泽尔(Bill Hartzer)即将出版的书《投票上的品牌》(Brands On The Dable),该书在当今的两极分化市场中介绍了非中立品牌的概念。组合在一起,这些表明了偏见不仅不仅融入算法中。在观众如何解释品牌方面,这也是不可避免的。 图片来源:Duane Forrester 选择率和主要偏见 选择率 可以将其视为从可用选项中选择源的次数的百分比(选择选项×100)。这不是正式的标准,而是一种说明AI检索中主要偏见的有用方法。 Dejan指出,当提出AI系统的问题时,它通常会从多个接地来源中提取。但是,并非所有来源都是平等选择的。随着时间的流逝,有些人一次又一次被选中,而另一些则几乎没有出现。 这是工作中的主要偏见。 对于营销人员而言,这意味着很明显:如果您的内容很少被选为接地来源,那么您在AI的输出生态系统中实际上是看不见的。如果经常选择,您将获得权威和可见性。高SR成为一个自我强化信号。 这不仅仅是理论上。诸如困惑,Bing Copilot和Gemini等工具均表现出答案及其来源。频繁的引用可以增强品牌的知名度和感知权威。研究人员甚至创造了一个反馈循环如何锁定优势的术语: 神经how叫。在LLM中,某些高加权输入可能会变得根深蒂固,即使引入了新的培训数据或实时提示,也会产生对校正具有抵抗力的响应模式。 这个概念并不新鲜。在传统搜索中,较高的页面获得了更多点击。这些点击将参与信号发送回系统,这可以帮助维持排名的位置。这是相同的反馈循环,只是通过不同的镜头。 SR不会产生偏见;它揭示了这一点,以及您是否受益取决于您的结构如何首先要检索。 品牌和解释的现实 选票上的品牌 将其视为非中立品牌:公司无法避免被解释。大小的每个决定都被视为信号。这是在感知层面上的偏见。 我们不断看到这一点。当耐克(Nike)以科林·卡佩尼克(Colin Kaepernick)为特色时,有些人则忠于忠诚度,而另一些人则公开削减了联系。当Bud Light与反式影响者合作时,反弹占据了国家新闻。迪士尼与佛罗里达政客在文化政策方面的纠纷成为一夜之间的企业认同故事。 这些都不只是“营销活动”。每个人都被视为一种文化立场。即使是似乎运作的决策(您在哪些平台上进行了广告宣传,您接受的赞助商,您选择的供应商)也被解释为对齐的信号。 中立不再是中立的,这意味着公关和营销团队都需要计划解释作为日常现实的一部分。 定向偏见是有用的镜头 营销人员已经通过ICP定位和定位来实践故意排斥。您决定要与谁联系,并通过扩展为您不这样做。那不是新的。 但是,当您通过偏见的视角查看这些选择时,它会提高重点:定位是有意图的偏见。它不是隐藏的。这不是偶然的。这是一个故意的焦点缩小。 这就是导演偏见的想法。您可以将其视为描述ICP定位或市场定位的另一种方式。这不是学说,只是镜头。以这种方式命名的价值是,它将营销人员已经将所做的事情与有关搜索和AI系统如何编码偏差的更广泛的对话联系起来。 偏见不仅限于品牌或人工智能。多年来,我们知道搜索排名可以塑造行为。 一项2024年的PLOS研究表明,简单地改变结果的顺序可以将意见转移多达30%。人们更信任更高的结果,即使基础信息是相同的。 过滤器气泡扩大了此效果。通过基于历史记录来量身定制结果,搜索引擎可以增强现有视图并限制接触替代方案。 除了这些行为偏见之外,结构性偏见。搜索引擎奖励新鲜度,这意味着网站被爬行和更新的频率经常会在可见性方面获得优势,尤其是对于时间敏感的查询。乡村代码顶级域(CCTLD)之类的诸如.fr或.jp之类的范围可以向区域相关性,从而使它们偏爱本地化搜索。然后是受欢迎程度和品牌偏见:即使他们的内容不一定更强,既定或值得信赖的品牌也通常受到青睐,这使得小型或更新的竞争对手更难突破。 对于市场营销和公关专业人员,本课程是相同的:输入偏见(有关您的数据)和处理偏见(系统如何排名和呈现)直接塑造观众认为是真实的东西。 LLM输出的偏差 大型语言模型引入了新的偏见层。 培训数据很少平衡。某些群体,声音或观点可能会过分代表,而另一些则缺失。这塑造了这些系统给出的答案。提示设计添加了另一层:确认偏差和可用性偏差可能取决于提出问题的方式。 最近的研究表明,这会变得多么混乱。 麻省理工学院的研究人员发现,即使送入LLM的文件顺序也可以改变结果。 2024年的自然纸将在LLM中显示出不同类型的偏差分类,从表示差距到文化框架。 PNAS的一项研究证实,即使在公平调整之后,隐性偏见仍然存在。 LiveScience报道说,较新的聊天机器人倾向于过分简化科学研究,并掩盖关键细节。 这些不是边缘发现。他们表明,AI中的偏见不是边缘情况。这是默认值。对于营销人员和沟通者来说,关键不是要掌握科学。要理解,如果您不首先塑造出来的内容,则输出可能会歪曲您。 将线程拉在一起 选择率 向我们显示AI检索系统中工作中的偏见。品牌向我们展示了偏见在感知市场中的运作方式。指导偏见是连接这些现实的一种方式,提醒我们并非所有偏见都是偶然的。有时是选择。 关键不是假装偏见不存在。当然,确实如此。它是要认识到它是否被动地发生,还是您正在积极和战略性地应用它。营销人员和公关专家都在这里发挥作用:一个在建立可检索的资产中,另一个在塑造叙事弹性方面。 (PS:AI无法真正代替这项工作的人。) 那你该怎么办? 了解偏见暴露在哪里 在搜索中,通过研究,审核和SEO测试揭示了偏见。在AI中,它是由研究人员发现了具有结构化提示的输出的。在品牌中,它在客户反应中得到了揭示。关键是知道偏见总是显示出某个地方的位置,如果您不寻找它,那么您就缺少有关如何被感知或检索的关键信号。 认识谁隐藏偏见 搜索引擎和LLM提供商并不总是披露选择的加权方式。公司通常会选择中立,即使他们的选择也是如此。隐藏偏见不会消失;它最终浮出水面时,很难解决并产生更大的风险。如果您对自己的立场不透明,其他人可能会为您定义它。…

  • जाहिरातदाराच्या चिंतेनंतर Google स्मार्ट बिडिंग अपडेट स्पष्ट करते

    17 ऑगस्टपासून बजेट-मर्यादित मोहिमा कशी वागतील असा प्रश्न जाहिरातदारांनी विचारल्यानंतर Google त्याचे स्मार्ट बिडिंग अपडेट स्पष्ट करत आहे. स्मार्ट बिडिंग बदलांबद्दलची मूळ घोषणा 22 जूनची होती. हे अपडेट मूलत: लक्ष्य CPA आणि लक्ष्य ROAS मोहिमा बजेटद्वारे मर्यादित असताना कसे वागतात ते बदलते. आज, अनेक बजेट-मर्यादित मोहिमा त्यांच्या बोली लक्ष्यांपेक्षा जास्त कामगिरी करतात. स्मार्ट बिडिंग सहसा…

  • Projeto Desassossego Junto 0739: Simpatias Mais Profundas – Desassossego

    Todas as quintas-feiras, na comunidade musical Disquiet Junto, um novo desafio de composição é apresentado aos integrantes do grupo, que então têm cinco dias para gravar e enviar uma faixa de acordo com as instruções do projeto. A adesão ao Junto está aberta: basta aderir e participar. (Uma conta no SoundCloud é útil, mas não…

  • Starting Or Steering The Wave

    I wrote a LinkedIn post on this very topic a while ago, and people seemed, at least, reasonably interested. So I thought I’d expand on it a little. It is, IMO, a very good way of framing how you can generate real value from trends. The value of our traditional (if we’re being fair, beige)…

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *