{"product_id":"b0fp9rjj7z","title":"Master the Raspberry Pi Pico in C: WiFi with LwIP, MbedTLS \u0026 FreeRTOS, Second Edition","description":"\u003cp\u003eAdding WiFi to the  Raspberry Pi Pico  turns this low-cost, small form factor device into a true IoT device. The extra capabilities added to the Pico W open up loads of opportunities, but only if you are prepared to do battle with the two libraries that provide networking and security – Lightweight Internet Protocol ( lwIP ) and Mbed Transport Layer Security ( mbedTLS ), respectively. The problem with these large libraries of code is that they are poorly documented and don’t refer directly to the Pico W and its SDK. This book sets out to remedy this by providing a guide to these libraries along with examples of what you can do with them. This second edition has been updated to cover the second generation Pico 2W as well as the original Pico W and has been extended to cover  FreeRTOS , which offers significant advantages when working with lwIP and mbedTLS.\u003c\/p\u003e\n\n\u003cp\u003eHaving introduced the Pico WiFi Stack and basic network connections, we look at how to use TCP to create the all-important Protocol Control Block and then tackle implementing an HTTP client. As well as covering the basic mechanics of using lwIP, we also look at how to organize the use of an asynchronous library based on callbacks.\u003c\/p\u003e\n\n\u003cp\u003eThe problem of IoT security is unique because IoT devices can be physically accessed by an attacker. Even so it is worth implementing encryption and this is achieved using mbedTLS to create an HTTPS client and server, complete with certificates. We cover the basics of cryptography, including the problem of generating random numbers, what an encryption suite is and the various modes of AES encryption.\u003c\/p\u003e\n\n\u003cp\u003eNext come four chapters devoted to specific protocols. We look at UDP as an alternative to implementing a server; SNTP as a way of setting the Pico W’s real time clock; SMTP to allow email notifications and MQTT as a scalable architecture. Each of these chapters includes example programs which do the basics of the task.\u003c\/p\u003e\n\n\u003cp\u003eTo make use of sockets, the de-facto standard way of writing networking programs we need an operating system. The final chapters of this book introduce FreeRTOS and how to use sockets to implement HTTP and HTTPS clients and servers including an initialization server which lets the user configure an IoT device using WiFi.\u003c\/p\u003e\n\n\u003cp\u003eHarry Fairhead  is the author of  Programming The Raspberry Pi Pico\/W In C ,  Fundamental C: Getting Closer To The Machine ,  Applying C For The IoT With Linux , and IoT titles for the Raspberry Pi and the ESP32.\u003c\/p\u003e\n\n\u003cp\u003eMike James  is the co-author of  Programming the Raspberry Pi Pico\/W in MicroPython ;  Raspberry Pi IoT In Python Using GPIO Zero , and  Raspberry Pi IoT In Python Using Linux Drivers . He is the author of  Extending and Embedding Python Using C  and the  Programmer's Python: Something Completely Different  series of books and many other programming and computer science titles.\u003c\/p\u003e","brand":"ANT","offers":[{"title":"Ebook","offer_id":52819310936280,"sku":"YSL33261","price":7.79,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0835\/3356\/2072\/files\/61lhR4ZY1eL._SY1500.jpg?v=1793088828","url":"https:\/\/www.bookmebay.com\/products\/b0fp9rjj7z","provider":"BookMebay","version":"1.0","type":"link"}