{"id":2974,"date":"2009-05-24T13:19:34","date_gmt":"2009-05-24T21:19:34","guid":{"rendered":"http:\/\/www.horace.org\/blog\/?p=2974"},"modified":"2009-05-24T13:21:29","modified_gmt":"2009-05-24T21:21:29","slug":"simple-technique-drives-multiple-leds-from-one-processor-pin","status":"publish","type":"post","link":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/","title":{"rendered":"Simple Technique Drives Multiple LEDs From One Processor Pin"},"content":{"rendered":"<blockquote><p>\nThis could be a pretty neat interview question.  It can tests how well the candidate knows about logics.\n<\/p><\/blockquote>\n<p><!--more--><\/p>\n<p>by Christopher Paul  | Electronic Design  |   May 7, 2009 <\/p>\n<p>Driving multiple LEDs with one microprocessor GPIO pin is a well-known technique. Typically, designs perform this task by issuing pulse widths and clocks of differing durations and employing multiple RC networks to distinguish between them. The design described here is much simpler.<\/p>\n<p>The microprocessor pin is connected to the clock of a multipleoutput sequential counter.  In its simplest form, this state machine consists of two D flip-flops cascaded to form a twobit ripple counter. The counter\u2019s most significant bit (MSB) is also connected to the pin through resistor R1.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/electronicdesign.com\/files\/29\/21105\/fig_01.gif\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/electronicdesign.com\/files\/29\/21105\/fig_01.gif?resize=474%2C253\" title=\"Figure 1\" class=\"alignnone\" width=\"474\" height=\"253\" \/><\/a><\/p>\n<p>Consider when the counter changes state on the rising edge of the pin transition. With the pin configured as an output, the counter can be clocked by the pin to reach all of the counter\u2019s distinct states. But it\u2019s not clear how the processor ever knows what state the counter is in. If the processor can recognize one counter state, though, it will know how to clock the counter to reach any other desired state.<\/p>\n<p>The processor can begin to determine the initial counter state by issuing a HighClockRead. A HighClockRead consists of setting the pin sequentially as an output high, output low, output high, and then as an input, waiting on the order of a microsecond for the pin capacitance to be driven to a stable state through the resistor. Then, the counter\u2019s MSB state is read through the pin.<\/p>\n<p>If the read is high, the processor issues another HighClockRead. If it\u2019s low, the device issues a LowClockRead. This consists of the pin configured sequentially as an output low, output high, and as an input, and then waiting and reading the MSB as with a High- ClockRead. (Issuing a LowClockRead or a HighClockRead as appropriate ensures that only one clock transition (low-to-high) occurs per ClockRead and that the counter advances by only one state.) The processor continues to issue either HighClockReads or LowClockReads. It halts when it detects successive counter MSB states consisting of a low followed by a high.<\/p>\n<p>Because the counter is designed so that the MSB transitions from low to high only a single time in the sequence of all possible counter states, the processor now knows the exact counter state. It is possible, then, to issue the number of low-high transitions (without intervening reads) that are required to put the counter in the desired state.<\/p>\n<p>This scheme works because the microprocessor is able to read and advance the counter too quickly for the eye to see any intermediate LED states. The only timing requirements are that the delay of the counter and the settling time of the R-C are accommodated by the processor. This requirement is easily met.<\/p>\n<p>Once the counter state is known and needs to be changed, it isn\u2019t necessary to read after every clock pulse. It may instead be preferable to read only the two states in which a low is expected to be followed by a high to ensure that the counter remains in sync.<\/p>\n<p>To minimize power dissipation through the resistor when the counter is un-clocked in order to perceive a particular LED state, set the processor pin as an input or as an output with the same state as the MSB.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This could be a pretty neat interview question. It can tests how well the candidate knows about logics.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"lc_iscn_info":[],"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[439],"tags":[443,440,442],"class_list":["post-2974","post","type-post","status-publish","format-standard","hentry","category-_knowhow","tag-led","tag-gpio","tag-electronic-design"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Simple Technique Drives Multiple LEDs From One Processor Pin  - \u54f2\u5b50\u6232 Philosophist\u2019s Camp<\/title>\n<meta name=\"description\" content=\"This could be a pretty neat interview question. It can tests how well the candidate knows about logics. by Christopher Paul | Electronic Design | May 7,\" \/>\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.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simple Technique Drives Multiple LEDs From One Processor Pin  - \u54f2\u5b50\u6232 Philosophist\u2019s Camp\" \/>\n<meta property=\"og:description\" content=\"This could be a pretty neat interview question. It can tests how well the candidate knows about logics. by Christopher Paul | Electronic Design | May 7,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/\" \/>\n<meta property=\"og:site_name\" content=\"\u54f2\u5b50\u6232 Philosophist\u2019s Camp\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/horace.org\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/horace.org\" \/>\n<meta property=\"article:published_time\" content=\"2009-05-24T21:19:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2009-05-24T21:21:29+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/electronicdesign.com\/files\/29\/21105\/fig_01.gif\" \/>\n<meta name=\"author\" content=\"hevangel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@horaceorg\" \/>\n<meta name=\"twitter:site\" content=\"@horaceorg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hevangel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/\"},\"author\":{\"name\":\"hevangel\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\"},\"headline\":\"Simple Technique Drives Multiple LEDs From One Processor Pin\",\"datePublished\":\"2009-05-24T21:19:34+00:00\",\"dateModified\":\"2009-05-24T21:21:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/\"},\"wordCount\":570,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\"},\"image\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/electronicdesign.com\\\/files\\\/29\\\/21105\\\/fig_01.gif\",\"keywords\":[\"led\",\"gpio\",\"electronic design\"],\"articleSection\":[\"Know How\"],\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/\",\"url\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/\",\"name\":\"Simple Technique Drives Multiple LEDs From One Processor Pin - \u54f2\u5b50\u6232 Philosophist\u2019s Camp\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/electronicdesign.com\\\/files\\\/29\\\/21105\\\/fig_01.gif\",\"datePublished\":\"2009-05-24T21:19:34+00:00\",\"dateModified\":\"2009-05-24T21:21:29+00:00\",\"description\":\"This could be a pretty neat interview question. It can tests how well the candidate knows about logics. by Christopher Paul | Electronic Design | May 7,\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/#primaryimage\",\"url\":\"http:\\\/\\\/electronicdesign.com\\\/files\\\/29\\\/21105\\\/fig_01.gif\",\"contentUrl\":\"http:\\\/\\\/electronicdesign.com\\\/files\\\/29\\\/21105\\\/fig_01.gif\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2009\\\/05\\\/24\\\/simple-technique-drives-multiple-leds-from-one-processor-pin\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simple Technique Drives Multiple LEDs From One Processor Pin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/\",\"name\":\"\u54f2\u5b50\u6232 Philosophist\u2019s Camp\",\"description\":\"\u860b\u679c\u65e5\u5831\u4f5c\u8005 - \u9673\u99ac\uff1a\u66f8\u8a55\uff0c\u5f71\u8a55\uff0c\u52d5\u6f2b\uff0c\u65c5\u884c\uff0c\u54f2\u5b78\u7b46\u8a18\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\",\"name\":\"hevangel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\",\"width\":1313,\"height\":1259,\"caption\":\"hevangel\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\"},\"sameAs\":[\"http:\\\/\\\/www.horace.org\",\"https:\\\/\\\/www.facebook.com\\\/horace.org\"],\"url\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/author\\\/hevangel-2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Simple Technique Drives Multiple LEDs From One Processor Pin  - \u54f2\u5b50\u6232 Philosophist\u2019s Camp","description":"This could be a pretty neat interview question. It can tests how well the candidate knows about logics. by Christopher Paul | Electronic Design | May 7,","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.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/","og_locale":"en_US","og_type":"article","og_title":"Simple Technique Drives Multiple LEDs From One Processor Pin  - \u54f2\u5b50\u6232 Philosophist\u2019s Camp","og_description":"This could be a pretty neat interview question. It can tests how well the candidate knows about logics. by Christopher Paul | Electronic Design | May 7,","og_url":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/","og_site_name":"\u54f2\u5b50\u6232 Philosophist\u2019s Camp","article_publisher":"https:\/\/www.facebook.com\/horace.org","article_author":"https:\/\/www.facebook.com\/horace.org","article_published_time":"2009-05-24T21:19:34+00:00","article_modified_time":"2009-05-24T21:21:29+00:00","og_image":[{"url":"http:\/\/electronicdesign.com\/files\/29\/21105\/fig_01.gif","type":"","width":"","height":""}],"author":"hevangel","twitter_card":"summary_large_image","twitter_creator":"@horaceorg","twitter_site":"@horaceorg","twitter_misc":{"Written by":"hevangel","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/#article","isPartOf":{"@id":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/"},"author":{"name":"hevangel","@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c"},"headline":"Simple Technique Drives Multiple LEDs From One Processor Pin","datePublished":"2009-05-24T21:19:34+00:00","dateModified":"2009-05-24T21:21:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/"},"wordCount":570,"commentCount":0,"publisher":{"@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c"},"image":{"@id":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/#primaryimage"},"thumbnailUrl":"http:\/\/electronicdesign.com\/files\/29\/21105\/fig_01.gif","keywords":["led","gpio","electronic design"],"articleSection":["Know How"],"inLanguage":"en-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/","url":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/","name":"Simple Technique Drives Multiple LEDs From One Processor Pin - \u54f2\u5b50\u6232 Philosophist\u2019s Camp","isPartOf":{"@id":"https:\/\/www.horace.org\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/#primaryimage"},"image":{"@id":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/#primaryimage"},"thumbnailUrl":"http:\/\/electronicdesign.com\/files\/29\/21105\/fig_01.gif","datePublished":"2009-05-24T21:19:34+00:00","dateModified":"2009-05-24T21:21:29+00:00","description":"This could be a pretty neat interview question. It can tests how well the candidate knows about logics. by Christopher Paul | Electronic Design | May 7,","breadcrumb":{"@id":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/#primaryimage","url":"http:\/\/electronicdesign.com\/files\/29\/21105\/fig_01.gif","contentUrl":"http:\/\/electronicdesign.com\/files\/29\/21105\/fig_01.gif"},{"@type":"BreadcrumbList","@id":"https:\/\/www.horace.org\/blog\/2009\/05\/24\/simple-technique-drives-multiple-leds-from-one-processor-pin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.horace.org\/blog\/"},{"@type":"ListItem","position":2,"name":"Simple Technique Drives Multiple LEDs From One Processor Pin"}]},{"@type":"WebSite","@id":"https:\/\/www.horace.org\/blog\/#website","url":"https:\/\/www.horace.org\/blog\/","name":"\u54f2\u5b50\u6232 Philosophist\u2019s Camp","description":"\u860b\u679c\u65e5\u5831\u4f5c\u8005 - \u9673\u99ac\uff1a\u66f8\u8a55\uff0c\u5f71\u8a55\uff0c\u52d5\u6f2b\uff0c\u65c5\u884c\uff0c\u54f2\u5b78\u7b46\u8a18","publisher":{"@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.horace.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":["Person","Organization"],"@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c","name":"hevangel","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1","url":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1","width":1313,"height":1259,"caption":"hevangel"},"logo":{"@id":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1"},"sameAs":["http:\/\/www.horace.org","https:\/\/www.facebook.com\/horace.org"],"url":"https:\/\/www.horace.org\/blog\/author\/hevangel-2\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pwn21-LY","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2874,"url":"https:\/\/www.horace.org\/blog\/2009\/05\/12\/chip-biz-buzzwords\/","url_meta":{"origin":2974,"position":0},"title":"Chip Biz Buzzwords","author":"hevangel","date":"May 12, 2009","format":false,"excerpt":"I am definitely an insider. I know all the buzzwords and actually able to make sense out of them. It's no surprise that everyone in the Valley is so comfortable with insider and exclusionary code words, many of which make no sense. by John C. Dvorak Every business has its\u2026","rel":"","context":"In &quot;News Clips&quot;","block_context":{"text":"News Clips","link":"https:\/\/www.horace.org\/blog\/category\/_reference\/_newsclips\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4561,"url":"https:\/\/www.horace.org\/blog\/2010\/07\/03\/the-trouble-with-multicore\/","url_meta":{"origin":2974,"position":1},"title":"The Trouble With Multicore","author":"hevangel","date":"July 3, 2010","format":false,"excerpt":"I ran into a computer scientist in DAC and he is one of those doomsayer of multicore computing. He said according to Amdahl's law, multicore will reach the diminish of return at around 4x speedup. Throwing more core at a sequential program won't make it run any faster. BY David\u2026","rel":"","context":"In &quot;News Clips&quot;","block_context":{"text":"News Clips","link":"https:\/\/www.horace.org\/blog\/category\/_reference\/_newsclips\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9194,"url":"https:\/\/www.horace.org\/blog\/2015\/07\/02\/%e7%89%a9%e8%81%af%e7%b6%b2iot%e5%85%a5%e9%96%80-arduino-vs-raspberry-pi\/","url_meta":{"origin":2974,"position":2},"title":"\u7269\u806f\u7db2IoT\u5165\u9580 &#8211; Arduino vs Raspberry Pi","author":"hevangel","date":"July 2, 2015","format":false,"excerpt":"\u904e\u53bb\u5169\u500b\u5341\u5e74\u662f\u4e92\u806f\u7db2\u7684\u5929\u4e0b\uff0c\u5b55\u80b2\u51faGoogle\uff0cFacebook\u7b49\u5bcc\u53ef\u6575\u570b\u7684\u79d1\u7db2\u5de8\u982d\uff0c\u990a\u6d3b\u7121\u6578\u5927\u5c0f\u4e0d\u4e00\u7684\u7db2\u7d61\u516c\u53f8\uff0c\u61c2\u7db2\u7ad9\u7de8\u5beb\u6280\u8853\u7684\u4eba\u8eab\u50f9\u4ea6\u6c34\u6f32\u8239\u9ad8\u3002\u6709\u9810\u8a00\u8aaa\u4e0b\u500b\u5341\u5e74\u7269\u806f\u7db2Internet of Things(IoT)\u5c07\u6703\u53d6\u4ee3\u4e92\u806f\u7db2\uff0c\u6210\u70ba\u6700\u7078\u624b\u53ef\u71b1\u7684\u65b0\u79d1\u6280\u85cd\u6d77\u5e02\u5834\u3002\u7269\u806f\u7db2\u5230\u5e95\u662f\u4ec0\u9ebc\u6a23\u5b50\uff0c\u76ee\u524d\u9084\u672a\u6709\u5b9a\u8ad6\uff0c\u5927\u5bb6\u9084\u5728\u63a2\u7d22\u968e\u6bb5\u3002\u6709\u4e00\u8aaa\u6cd5\u7269\u806f\u7db2\u662f\u4e92\u806f\u7db2\u7684\u7533\u5ef6\uff0c\u8b93\u4e92\u806f\u7db2\u8d70\u51fa\u96fb\u8166\u96fb\u8a71\u5e73\u677f\u7684\u6846\u6846\uff0c\u8b93\u5bb6\u5c45\u6216\u516c\u53f8\u4efb\u4f55\u5730\u65b9\u7684\u6bcf\u4e00\u4ef6\u7269\u4ef6\uff0c\u90fd\u64c1\u6709\u667a\u80fd\u53ef\u4ee5\u7528\u96fb\u8166\u64cd\u63a7\u3002 \u73fe\u5728\u7684\u7269\u806f\u7db2\u4e00\u822c\u7d71\u7a31\u70baMaker Movement\uff0c\u6027\u8cea\u8207\u65e9\u671f\u7684\u4e92\u806f\u7db2\u5341\u5206\u76f8\u4f3c\uff0c\u90fd\u662f\u4e00\u7fa4\u696d\u9918\u8005\u7576\u55dc\u597d\u7684\u73a9\u610f\uff0cgeek\u5011\u597d\u73a9\u5730\u89e3\u6c7a\u7463\u788e\u9ebb\u7169\u4e8b\u3002\u5076\u6709\u9805\u76ee\u653e\u4e0aKick Starter\u6216indiegogo\u96c6\u8cc7\u51fa\u88fd\u6210\u54c1\uff0c\u4f46\u9084\u672a\u767c\u6398\u51fa\u4ec0\u9ebc\u8cfa\u5927\u9322\u7684\u5546\u696d\u6a21\u5f0f\uff0c\u5c31\u597d\u50cf\u5728\u975c\u975c\u7b49\u5f85\u6642\u6a5f\u6210\u719f\uff0c\u7136\u5f8c\u4e00\u500b\u6ce1\u6cab\u7206\u767c\u8d77\u98db\u3002\u7576\u5e74\u4e92\u806f\u7db2\u8d77\u6b65\u4e4b\u521d\uff0c\u61c2\u5f97HTML\uff0cCSS\uff0cPHP\u7b49\u6280\u8853\uff0c\u96d6\u6c92\u6709\u8d0f\u5728\u8d77\u8dd1\u7dda\u9019\u56de\u4e8b\uff0c\u4f46\u4e5f\u7b97\u65e9\u9ede\u62ff\u5230\u5165\u5834\u5377\uff0c\u81f3\u5c11\u884c\u5148\u5225\u4eba\u4e00\u6b65\u3002\u60f3\u8981\u5728\u4e0b\u4e00\u500b\u7269\u806f\u7db2\u4e16\u7d00\u4e2d\u5206\u4e00\u676f\u7fb9\uff0c\u53c8\u9700\u8981\u61c2\u4ec0\u9ebc\u5165\u9580\u6280\u8853\u5462\uff1f Maker\u7684\u5165\u9580\u6280\u8853\uff0c\u8aaa\u96e3\u4e0d\u96e3\uff0c\u8aaa\u6613\u4e0d\u6613\uff0c\u53ea\u9700\u7565\u61c2\u5927\u5b78\u4e00\u5e74\u7d1a\u96fb\u5b50\u5de5\u7a0b\u7684\u77e5\u8b58\uff0c\u52a0\u4e0a\u7121\u9650\u7684\u5275\u610f\uff0c\u4fbf\u53ef\u4ee5\u5f04\u51fa\u597d\u73a9\u53c8\u6709\u7528\u7684\u6771\u897f\u3002\u4e00\u53f0\u5fae\u578b\u96fb\u8166\u4f5c\u70ba\u6838\u5fc3\uff0c\u914d\u4e0a\u4e0d\u540c\u7d44\u5408\u7684sensors\uff0cdisplay\u548cmotors\u7b49\u7269\u7406\u5143\u4ef6\uff0c\u8b93\u96fb\u8166\u8207\u73fe\u5be6\u4e16\u754c\u7684\u7269\u4ef6\u4e92\u52d5\u3002\u53ef\u4ee5\u8aaa\u662f\u5f04\u500b\u539f\u59cb\u6a5f\u68b0\u4eba\uff0c\u5118\u7ba1\u4e0d\u662f\u52d5\u756b\u4e2d\u90a3\u7a2e\u6a5f\u68b0\u4eba\uff0c\u53ea\u80fd\u505a\u4e00\u4e9b\u7c21\u55ae\u4e8b\u60c5\u7684\u5c0f\u6a5f\u5668\u3002\u73fe\u4ecaMaker\u53ef\u4ee5\u7c97\u7565\u5206\u70ba\u5169\u5927\u9663\uff0cArduino\u548cRaspberry Pi\uff0c\u5169\u8005\u5206\u5225\u662f\u4e0d\u540c\u7684\u958b\u6e90\u786c\u4ef6\u548c\u8edf\u4ef6\u751f\u614b\u9ad4\u7cfb\uff0c\u4e0d\u904e\u5b83\u5011\u4e26\u4e0d\u662fiOS\u548cAndriod\u822c\u7684\u7af6\u722d\u5c0d\u624b\uff0c\u53cd\u800c\u66f4\u50cf\u662f\u592a\u6975\u9670\u967d\u822c\u76f8\u8f14\u76f8\u6210\uff0c\u5404\u6709\u4e0d\u540c\u5f37\u9805\u4e92\u88dc\u9577\u77ed\u3002 Raspberry Pi(RPi)\u662f\u4e00\u53f0\u5341\u5206\u4fbf\u5b9c\u7684\u5c0f\u96fb\u8166\uff0c\u56db\u5341\u7f8e\u5143\u6709\u627e\uff0c\u6027\u80fd\u5927\u7d04\u8207\u4e2d\u50f9\u624b\u6a5f\u76f8\u82e5\u3002RPi\u904b\u884cLinux\u4f5c\u696d\u7cfb\u7d71\uff0c\u53ef\u4ee5\u5b8c\u53d6\u4ee3\u4e00\u822cdesktop\u3002Linux\u66f4\u662f\u4e92\u806f\u7db2\u4f3a\u670d\u5668\u7684\u4e3b\u8981\u7cfb\u7d71\uff0c\u4e0d\u8b1b\u6c42\u904b\u7b97\u901f\u5ea6\u7684\u8a71\uff0cRPi\u7528\u4f86\u67b6\u7db2\u7d61\u7ad9\u4e5f\u6c92\u6709\u554f\u984c\u3002\u8207\u96fb\u8166\u4e0d\u540c\u4e4b\u8655\uff0c\u662fRPi\u670940\u500bGPIO(General Purpose Input\/Output)\u63a5\u9ede\uff0c\u53ef\u4ee5\u8b93\u7528\u5bb6\u9023\u63a5sensor\uff0cdisplay\u548cmotor\u4e0d\u540c\u90e8\u4ef6\uff0c\u7528\u5bb6\u8207RPi\u7684\u4e92\u52d5\u4e0d\u518d\u9650\u65bc\u9375\u76e4\u548c\u5c4f\u5e55\u3002\u4f8b\u5982\u4f60\u53ef\u4ee5\u628aRPi\u9023\u4e0amotion sensor\u548c\u51b7\u6c23\u6a5f\u7684\u96fb\u6e90\u958b\u95dc\uff0c\u8b93\u51b7\u6c23\u6a5f\u898b\u5230\u6709\u4eba\u5165\u5c4b\u6642\u81ea\u52d5\u958b\u8457\uff0c\u66f4\u53ef\u4ee5\u628aRPi\u9023\u4e0a\u7db2\uff0c\u8b93\u4f60\u9059\u63a7\u5bb6\u4e2d\u7684\u51b7\u6c23\u6a5f\u3002\u7576\u7136\u9019\u500b\u9ede\u5b50\u90a3\u6a23\u884c\u8ca8\uff0cNest\u65e9\u5df2\u7d93\u9020\u4e86\u51fa\u4f86\uff0c\u9084\u7d66Google\u91cd\u91d1\u6536\u8cfc\u4e86\uff0c\u73fe\u5728\u624d\u8ddf\u98a8\u53bb\u505a\u592a\u9072\u4e86\u3002\u4e0d\u904e\u91cd\u9ede\u662fRPi\u6f5b\u5728\u7684\u7121\u9650\u500b\u53ef\u80fd\u6027\u3002 Arduino\u56b4\u683c\u4f86\u8aaa\u4e0d\u662f\u96fb\u8166\uff0c\u800c\u662fmicrocontroller\u5fae\u8655\u7406\u5668\u3002\u96fb\u8166\u4f5c\u6c4e\u7528\u904b\u7b97\uff0c\u53ef\u4ee5\u57f7\u884c\u4e0d\u540c\u7a0b\u5f0f\uff0c\u5fae\u8655\u7406\u5668\u5247\u53ea\u53ef\u884c\u55ae\u4e00\u7a0b\u5f0f\u3002\u82e5\u679c\u62c6\u958b\u5bb6\u5ead\u96fb\u5668\u5982\u96fb\u98ef\u7172\uff0c\u5165\u9762\u7684\u63a7\u5236\u6676\u7247\u5c31\u662f\u5fae\u8655\u7406\u5668\u800c\u4e0d\u662f\u96fb\u8166\u3002Arduino\u7684\u6027\u80fd\u6bd4RPi\u5dee\u4e00\u767e\u500d\uff0c\u53ea\u53ca\u7576\u5e74286\u7684\u901f\u5ea6\uff0c\u8a18\u61b6\u9ad4\u66f4\u662f\u5c0f\u5f97\u53ef\u6190\uff0c\u53ea\u6709Apple IIe\u7684\u4e00\u534a\u3002\u50f9\u9322\u6bd4RPi\u66f4\u4fbf\u5b9c\uff0c\u539f\u88dd\u6b63\u7248\u5341\u7f8e\u5143\uff0c\u4e0d\u4ecb\u610f\u5927\u9678\u7ffb\u7248\u7684\u8a71\uff0c\u4e0a\u6dd8\u5bf6\u4e09\u7f8e\u5143\u6709\u4ea4\u6613\u3002\u4e0d\u8981\u4ee5\u6027\u80fd\u5f31\u5c31\u5c0f\u770b\u5b83\uff0c\u5176\u5be6\u5927\u90e8IoT\u7684\u61c9\u7528\u6839\u672c\u4e0d\u9700\u5f37\u5927\u7684\u904b\u7b97\u80fd\u529b\uff0c\u5920\u7528\u5c31\u884c\u4e86\u3002Arduino\u6709\u4e0d\u540c\u5927\u5c0f\u7684\u7248\u672c\uff0c\u5404\u6709\u4e0d\u540c\u6578\u76ee\u7684GPIO\u3002\u6700\u5fae\u578b\u7684\u53ea\u6709\u4e00\u500b\u786c\u5e63\u7684\u5927\u5c0f\uff0c\u52a0\u4e0a\u8017\u96fb\u91cf\u5c0f\u53ef\u7528\u8a08\u7b97\u6a5f\u9215\u578b\u96fb\u6c60\uff0c\u5f88\u591a\u821e\u53f0\u670d\u98fe\u4e0a\u90fd\u662f\u7528\u5b83\u63a7\u5236LED\u6548\u679c\u3002Arduino\u6bd4RPi\u7684GPIO\u66f4\u6613\u7528\u597d\u7528\uff0cRPi\u7684GPIO\u662f\u7d14\u6578\u78bc(digital)\uff0c\u53ea\u80fd\u6709\u96f6\u6216\u4e00\u7684\u6578\u503c\uff0c\u4f46Arduino\u6709\u6a21\u62df(analog)\u7684GPIO\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f5cvoltage\u7684\u8f38\u5165\u6216\u9a45\u52d5\uff0c\u4e0d\u8981\u984d\u5916\u7684\u6a21\u62df\u8f49\u6578\u78bc\u6676\u7247\u3002\u53e6\u5916Arduino\u7684GPIO\u96fb\u8def\u6bd4\u8f03\u5805\u56fa\uff0cRPi\u7684GPIO\u5982\u679c\u99c1\u932f\u7dda\u8d85\u51fa\u96fb\u91cf\u8ca0\u8377\uff0c\u5f88\u5bb9\u6613\u628a\u6210\u584a\u6676\u7247\u71d2\u58de\uff0c\u6240\u4ee5\u521d\u5b78\u8005\u7528Arduino\u6bd4\u8f03\u9069\u5408\u3002 Raspberry Pi\u548cArduino\u4ee3\u8868\u8457IoT\u7684\u5169\u7a2e\u4e0d\u540c\u54f2\u5b78\uff0cRPi\u662f\u5f9e\u4e0a\u800c\u4e0b\u4ee5\u50b3\u7d71\u96fb\u8166\u70ba\u5148\uff0cArduino\u5247\u662f\u5f9e\u4e0b\u800c\u4e0a\u4ee5\u65b9\u4fbf\u63a7\u5236\u512a\u5148\u3002\u5e02\u9762\u4e0a\u6709\u4e0d\u5c11\u73fe\u6210\u7684\u64f4\u5145\u677f\uff0c\u53bb\u589e\u52a0\u5169\u8005\u7f3a\u5c11\u7684\u529f\u80fd\u3002\u5982\u8981\u64ad\u97f3\u6a02\uff0cRPi\u57f7\u884c\u5167\u5efa\u97f3\u6a02\u64ad\u653e\u5668\u4fbf\u53ef\u4ee5\uff0c\u4f46Arduino\u5247\u8981\u52a0\u88ddmp3\u97f3\u6548\u677f\u3002\u5169\u8005\u6c92\u6709\u7d55\u5c0d\u7684\u512a\u52a3\u9ad8\u4f4e\uff0c\u53ea\u56e0\u61c9\u4e0d\u540c\u9700\u8981\uff0c\u5728\u7cfb\u7d71\u4e0a\u4f5c\u51fa\u4e0d\u540c\u7684\u53d6\u6368\u3002\u53c8\u6216\u53ef\u4ee5\u8005\u7d22\u6027\u5169\u8005\u4e00\u9f4a\u7528\uff0cRPi\u505a\u7e3d\u6307\u63ee\u57f7\u884c\u904b\u7b97\u548c\u7db2\u7d61\u5de5\u4f5c\uff0cArduino\u5247\u5c08\u9580\u64cd\u5236\u7269\u7406\u5143\u4ef6\u3002\u9664\u4e86\u9019\u5169\u500b\u4e3b\u8981\u7684\u5165\u9580\u7cfb\u7d71\u5916\uff0c\u5e02\u9762\u4e0a\u9084\u6709\u5f88\u591a\u5176\u4ed6IoT\u7cfb\u7d71\uff0c\u5982Intel\u7684Edison\uff0cGalileo\uff0c\u5176\u4ed6\u5ee0\u7684Beaglebone\uff0cLinkIt ONE\uff0cCHIP\u7b49\u3002\u5b83\u5011\u4e0d\u5916\u662f\u5728\u9019\u5169\u500b\u8a2d\u8a08\u54f2\u5b78\u7684\u57fa\u790e\u4e0a\uff0c\u627e\u51fa\u4e0d\u540c\u6027\u80fd\u548c\u50f9\u683c\u7684\u5e73\u8861\u9ede\uff0c\u5982\u901f\u5ea6\u5feb\u4e9b\u6162\u4e9b\uff0c\u8a18\u61b6\u9ad4\u6216\u63a5\u9ede\u591a\u4e9b\u5c11\u4e9b\uff0c\u9ad4\u7a4d\u6216\u8017\u96fb\u91cf\u4e0d\u540c\uff0c\u52a0\u653e\u5176\u4ed6\u6676\u7247\u5982GPS\uff0cLTE\u5728\u5e95\u677f\u4e0a\u3002 \u5b78\u7fd2IoT\u6700\u6709\u6548\u6700\u76f4\u63a5\u7684\u65b9\u6cd5\uff0c\u83ab\u904e\u65bc\u81ea\u5df2\u4f86\u52d5\u624b\u73a9\u3002\u53ef\u4ee5\u4e0a\u7db2\u8cb7RPi\u6216Arduino\u7684starter-kit\uff0c\u50f9\u683c\u8c50\u5109\u7531\u4eba\u5f9e\u5341\u591a\u5143\u5230\u767e\u591a\u5143\u4e5f\u6709\uff0c\u770b\u4f60\u60f3\u5957\u88dd\u5167\u9644\u9001\u591a\u5c11\u7269\u7406\u5143\u4ef6\u3002\u8ddf\u5f9e\u5957\u88dd\u5167\u7684\u8aaa\u660e\u66f8\uff0c\u5f9e\u63a7\u5236\u4e00\u9846LED\u9583\u4e0b\u9583\u4e0b\u958b\u59cb\uff0c\u4e00\u6b65\u6b65\u628a\u4e0d\u540c\u5143\u4ef6\u88dd\u7d44\u6210\u6709\u8da3\u5c0f\u73a9\u610f\u3002\u4e0d\u904e\u5957\u88dd\u7684\u8aaa\u660e\u66f8\u4e00\u822c\u904e\u4efd\u7cbe\u7c21\uff0c\u8981\u628a\u5c0f\u73a9\u610f\u505a\u51fa\u4f86\u4e0d\u96e3\uff0c\u4f46\u8981\u660e\u767d\u5982\u4f55\u5beb\u7a0b\u5f0f\u53bb\u64cd\u4f5c\u90a3\u4e9b\u5143\u4ef6\uff0c\u9023\u6211\u9019\u500b\u8b80\u96fb\u5b50\u51fa\u8eab\u4e5f\u770b\u4e0d\u660e\u767d\uff0c\u8981\u53e6\u5916\u770b\u5165\u9580\u66f8\u85c9\u3002\u5728\u6b64\u6211\u63a8\u4ecb\u5169\u5957\u5165\u9580\u66f8\uff0c\u4e00\u5957\u662fMaker Media\u51fa\u7248\u7684Make Series\uff0c\u5167\u5bb9\u5341\u5206\u6dfa\u767d\u6613\u660e\uff0c\u5beb\u7d66\u6c92\u6709\u5beb\u7a0b\u5f0f\u7d93\u9a57\u7684\u4eba\u770b\uff0c\u7528\u4f86\u6253\u597d\u57fa\u790e\u77e5\u8b58\uff0c\u4e0d\u904e\u6709\u7d93\u9a57\u7684\u4eba\u6703\u89ba\u7684\u9577\u6c23\u3002\u53e6\u4e00\u5957\u662f\u96fb\u8166\u66f8\u51fa\u7248\u8001\u5927\u54e5O'Reilly\u7684Cookbook Series\uff0c\u6c92\u6709\u96fb\u8166\u4eba\u672a\u770b\u904eO'Reilly\u7684\u66f8\uff0c\u4e0d\u7528\u591a\u4f5c\u4ecb\u7d39\u3002 \u73a9starter-kit\u8e0f\u51fa\u7b2c\u4e00\u6b65\u5f8c\uff0c\u9032\u968e\u53ef\u4ee5\u591a\u770bMaker\u96dc\u8a8c\u548c\u7db2\u7ad9\uff0c\u53c3\u52a0\u7576\u5730\u8209\u8fa8\u7684Maker Faire\uff0c\u8207\u5176\u4ed6maker\u4ea4\u6d41\u5fc3\u5f97\u523a\u6fc0\u601d\u7dad\uff0c\u96e3\u4fdd\u6709\u4e00\u5929\u9748\u5149\u4e4d\u73fe\uff0c\u5929\u6642\u5730\u5229\u4eba\u548c\u52a0\u9ede\u904b\u6c23\uff0c\u5f9e\u6b64\u6416\u8eab\u4e00\u8b8a\u6210\u7269\u806f\u7db2\u79d1\u6280\u5927\u4eab\u3002\u75f4\u4eba\u8aaa\u5922\u5b8c\uff0c\u5176\u5be6\u6211\u53ea\u662fmaker\u521d\u54e5\uff0c\u73a9RPi\u548cArduino\u624d\u500b\u591a\u6708\uff0c\u525b\u525b\u5b8c\u6210starter-kit\u7684\u7fd2\u4f5c\uff0c\u4e0a\u7db2\u518d\u8cb7\u591a\u4e9b\u7269\u7406\u5143\u4ef6\u56de\u4f86\uff0c\u5f04\u4e9b\u6709\u8da3\u7684\u7121\u804a\u5c0f\u73a9\u610f\u3002\u6211\u7684\u7b2c\u4e00\u500b\u6210\u54c1\u662fLED\u7d05\u7da0\u71c8\uff0c\u6309\u9215\u6703\u8f49\u71c8\uff0c\u7d66\u5152\u5b50\u8207\u4ed6\u7684\u73a9\u5177\u8eca\u4e00\u8d77\u73a9\u3002\u7b2c\u4e8c\u500b\u6210\u54c1\u662f\u6469\u65af\u96fb\u78bc\u6a5f\uff0c\u9577\u77ed\u561f\u561f\u561f\u8072\u4f86\u6253\u5b57\u5f88\u6162\u4f46\u5f88\u578b\u3002\u7b2c\u4e09\u500b\u4f5c\u54c1\u9084\u5728\u88fd\u4f5c\u4e2d\uff0c\u91cd\u88fd\u5152\u6642\u5f88\u6d41\u884c\u7684\u8a08\u6578\u6a5f\u6d88\u6578\u76ee\u5b57\u904a\u6232\u3002IoT\u5f88\u597d\u73a9\uff0c\u5c31\u7b97\u767c\u9054\u4e0d\u6210\uff0c\u4e5f\u4e0d\u5931\u70ba\u4e00\u500b\u6709\u7528\u55dc\u597d\u3002\u81f3\u5c11\u5152\u5b50\u5165\u5b78\u8b80\u66f8\u5f8c\uff0c\u5b78\u6821\u8981\u4ea4\u4ec0\u9ebc\u79d1\u5b78\u5275\u610f\u7fd2\u4f5c\uff0c\u602a\u7378\u5bb6\u9577\u51fa\u52d5IoT\u6280\u8853\u5e6b\u62d6\uff0c\u80af\u5b9a\u6bd4\u5176\u4ed6\u53ea\u61c2\u7e6a\u756b\u505a\u526a\u8cbc\u52de\u4f5c\u7684\u540c\u5b78\u4ed4\u9ad8\u5206\u3002","rel":"","context":"In &quot;\u79d1\u6280&quot;","block_context":{"text":"\u79d1\u6280","link":"https:\/\/www.horace.org\/blog\/category\/_science_technology\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2015\/07\/rsz_b-.jpg?fit=1200%2C809&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2015\/07\/rsz_b-.jpg?fit=1200%2C809&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2015\/07\/rsz_b-.jpg?fit=1200%2C809&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2015\/07\/rsz_b-.jpg?fit=1200%2C809&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2015\/07\/rsz_b-.jpg?fit=1200%2C809&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":188,"url":"https:\/\/www.horace.org\/blog\/2005\/09\/13\/post-office\/","url_meta":{"origin":2974,"position":3},"title":"Post Office","author":"hevangel","date":"September 13, 2005","format":false,"excerpt":"I went to the post office mail the ebay items I sold, insurance claim of my lost luggage together and a complain letter to Air Canada after work today. I am surprise the postal fee is quite expensive, especially when confirmation is required. In the modern fully computerized postal service,\u2026","rel":"","context":"In &quot;Daily Scribble&quot;","block_context":{"text":"Daily Scribble","link":"https:\/\/www.horace.org\/blog\/category\/_scribble\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2201,"url":"https:\/\/www.horace.org\/blog\/2009\/03\/18\/interrupt\/","url_meta":{"origin":2974,"position":4},"title":"Interrupt","author":"hevangel","date":"March 18, 2009","format":false,"excerpt":"Sometimes, you will come across task that is literally impossible to get done. You try very hard to finish the task, come up with clever (you think) solutions to work around the problem but all effort fails. Then you take a closer look at the problem and realize it really\u2026","rel":"","context":"In &quot;Daily Scribble&quot;","block_context":{"text":"Daily Scribble","link":"https:\/\/www.horace.org\/blog\/category\/_scribble\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":305,"url":"https:\/\/www.horace.org\/blog\/2006\/01\/26\/layoff-in-santa-clara\/","url_meta":{"origin":2974,"position":5},"title":"Layoff in Santa Clara","author":"hevangel","date":"January 26, 2006","format":false,"excerpt":"My company just had a small layoff today. All the R&D people of the microprocessor division in Sanata Clara site are let go, including my friend Suzanne. We had quited the custom MIPS processor market and the remaining few guys are working on printer processors ASIC for HP. We all\u2026","rel":"","context":"In &quot;Daily Scribble&quot;","block_context":{"text":"Daily Scribble","link":"https:\/\/www.horace.org\/blog\/category\/_scribble\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":false,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/posts\/2974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/comments?post=2974"}],"version-history":[{"count":3,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/posts\/2974\/revisions"}],"predecessor-version":[{"id":2977,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/posts\/2974\/revisions\/2977"}],"wp:attachment":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/media?parent=2974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/categories?post=2974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/tags?post=2974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}