《EOSS 2023 - Community fueled OTA for Zephyr.pdf》由會員分享,可在線閱讀,更多相關《EOSS 2023 - Community fueled OTA for Zephyr.pdf(36頁珍藏版)》請在三個皮匠報告上搜索。
1、Community Fueled OTA for Zephyr(and other Cs)Josef Holzmayr,Head of Developer Relations,Mender EOSS 2023/Zephyr Project Developer Summit-June 28,2023Josef HolzmayrAbout meHead of Developer Relations at MenderYocto Project Community ManagerOpenEmbedded Social Media ManagerContact mejosef.holzmayrnort
2、hern.techtheyoctojesterfosstodon.orgHardware Developer?About youFirmware Developer?Embedded Linux?Yocto?Every form of interaction will be rewarded until I run out of chocolate.About this presentationImage attribution:User:-donald-Wikimedia CommonsSome ideas:-Good:Tell me what you like.-Better:Tell m
3、e what you dont like.-Best:Tell me where I am wrong.-Helpful:Ask for a clarification.-Practical:Ask for chocolate.HistoryNorthern.tech,developers of Mender,was founded in 2008MissionTo deliver a secure best-in-class OTA solution to worlds connected devicesExpertiseOver 10 years spent ensuring the se
4、curity of embedded systems at scaleDedicationHighly technical team dedicated to solving our customers challengesValidationSupport of European Commission Horizon 2020 Research&InnovationTrustTrusted by the worlds largest brandsBased in San Francisco/OsloWho we are01.Introduction02.Jol03.OTA Updates04
5、.Server Side05.Client Side06.Wrapping upAgenda01JolMy friend JolIve got a friend called Jol.As a hobby,he makes scrapbook pages and sends them out to his friends.By now,Ive got a collection book into which I put all of the pages he sends to me.My friend JolWhenever he finishes a new page,he puts it
6、in an envelope and mails it to me.Which is cool,because he lives in France,and Im in Germany.My friend JolActually,he only drops the envelope into a post box.The post company collects everything,and then puts just the envelopes for me,specifically,into my mailbox.My friend JolThats really convenient
7、.I check the mailbox once a day or so.Whenever theres a letter from Jol,I can just take the new page out and put it into my book.My friend JolAs the post company also provides tracking,Jol knows that the new page for my book has arrived.My friend JolNow sadly,sometimes theres a problem.The letter ma
8、ybe gets damaged.Or the page tears when inserting it.Luckily,I can also report this to the postal service,and they will inform Jol.My friend JolWhen thats the case,Jol can send me a new page,possibly in improved packaging.In the meantime,no harm is done,I can still enjoy the book.02OTA UpdatesIts ac
9、tually the same.Now lets say,Jol is actually a software developer who needs to ship updates over the air.1.He prepares an update for shipping2.The update is uploaded to the OTA management system3.Only updates matching the target device are deployed to it4.If everything is fine,Jol gets an ack.5.If s
10、omething goes wrong,Jol gets an error message and can react,while knowing that the OTA solution has rolled back to the last known good version,and the device is still functional.23415Lets go open source now.As opposed to a real postal service which is a monopoly,or at least an oligopoly-we should be
11、 able to do this ourselves in software.We can build devices running Zephyr,for example.And we can create updates for those.03Server SideBe your own postal service.Mender is an APL2.0-licensed OTA solution.It offers,amongst other features:-Payload format agnostic,we really dont care what your softwar
12、e looks like-Fully documented API,to upload new artifacts for example-Self-hostable,because you should not be locked into one service(for software)The key is:documentationPart 1:API The key is:documentationPart 2:Artifact format 04Client SideThe last thing missingIn order to complete our OTA solutio
13、n,we still need the“mailbox”.-Accept incoming Artifacts-Understands the metadata-Applies them to device-Either streams or copies to storage-Flips the A/B partitions-Reports success-Handles rollback,if things go wrong-Flipts the A/B partitions back-Reports error(for software)?mender-mcu-clienthttps:/
14、 portability by design.Requires wrappers/implementations for:HTTPS client,respectively TLSThread/Process primitivesWriting to ROMSwitching partitionsGoing to Zephyrhttps:/ integration of the MCU client on Zephyr:NUCLEO-L4A6ZG evaluation board W5500 ethernet moduleZephyr v3.3.0Leverages MCUbootcJSONn
15、o other dependenciesCurrently the artifacts are limited on uncompressed payloads.04Demo time04Future directionsWhat is to come-The official client is currently being rewritten to C+,with Zephyr being on the roadmap.-First stand-alone release just right now-Slightly different focus,all open too-Go an
16、d test,contribute-Were even looking for partners hereWhat is to come-Mender has a remote terminal feature-Connecting that to the Zephyr shellWhat is to come-Mender has a remote terminal feature-Connecting that to the Zephyr shell ELC tech showcaseFind me at the Mender showcase table-Enter your busin
17、ess card,I will raffle out a BeaglePlay at 18:3005Wrapping upOTA UpdatesDont leave home without it.Any connected device needs OTA updates.You can avoid vendor and device platform lock in-not just Linux OR Zephyr OR Open Source Software guarantees control and verifiability of what your devices run.Me
18、nder is here to help you with that.Image attribution:https:/youtu.be/VB8_S0ZzRCQ?t=28Q:What are the licenses?A:Everything Mender is APL-2.0,Jols client is MIT.Q:Is there a production-ready set up of the server available?A:We provide a helm chart to run the Mender server in your k8s cluster.Questions&AnswersQ:What other platforms do you support?A:Official Go client:Linux,Jols clients,currently ESP-IDP(FreeRTOS)and Zephyr.Q:What is the commercial aspect?A:We offer a hosted instance,an extended Enterprise license and services.Thank YouContact Ushttps:/mender.io