[IoT] Linkit7688 DUO 透過 firmata 來控制GPIO,LED

2016年11月25日

這篇主要是基於  https://iamblue.gitbooks.io/linkit-smart-nodejs/content/zh-TW/basic/firmata.html 還有官網的資料 https://labs.mediatek.com/site/zntw/developer_tools/mediatek_linkit_smart_7688/training_docs/linkit_smart_7688_duo/firmata_nodejs/index.gsp

所組成的,但是因為中間碰到許多雷,所以筆記一下讓後面碰地的人可以快一點,這邊先感謝 iamblue 大大的無私分享

1. 首先準備  LED 燈泡 負極插入 GND  正極插入 D13

2. 安裝好Arduino 軟體 並且將 https://gist.github.com/edgarsilva/e73c15a019396d6aaef2 這邊的code 部屬進入 Linkit 7688 duo MCU  裡面
image


[Trick][Andrid] 在Facebook or LINE 下面脫離In-App Browser 開啟內建的browser

先說好這 只有對Android 有用 !!   只有對Android 有用 !!   只有對Android 有用 !!  
因為LINE 跟 Facebook 傳遞網站時候它們會用In-App Browser 去打開 除非你有調整這地方
15182424_1238599252882142_677651704_o


[IoT] Linkit7688 DUO + Node.js + mraa 控制LED (GPIO)

2016年11月17日

用Linkit 7688 當然就是要舒爽的寫Javascript 來控制一些硬體,這篇主要是筆記一下透過mraa 來控制LED 開關,並且透過Node.js
15146641_1229743117101089_2000804149_o


[IoT] Linkit7688 上面安裝簡單的編輯器nano

2016年11月15日

15044910_1225934390815295_2143515085_o

因為都在上面寫Node.js ,都透過PUTTY 直接連線上去寫,因為在電腦上面寫好再裝上去也是可以但是也很麻煩,而且內建的vim我用不習慣,網路上看一下原來可以安裝nano 所以簡單紀錄一下每一次都忘記都要重新查詢一次
簡單指令:


[C#] Regex筆記 - 搜尋特定文字並使用搜尋到的字做格式取代

2016年9月5日

筆記一下,用某個Regex 條件過濾出來然後搜尋出的值再進行取代
案例文字: {IMG:a.jpg}<br />sometext{sometext2}{IMG:b.jpg}
這裡面我想要把{IMG:a.jpg} 跟 {IMG:b.jpg} 找出來,並且取代成<img src='a.jpg' /> 和 <img src='b.jpg' />
Code :

var sampleText = "{IMG:a.jpg}<br />sometext{sometext2}{IMG:b.jpg}";
 
var rgx = new Regex(@"{IMG:(?<FILENAME>.*?)}", RegexOptions.IgnoreCase);
 
var replacePattern = "<img src='$1' />";
 
var resultText = rgx.Replace(sampleText, replacePattern);
 
Response.Write(resultText);

結果:     <img src='a.jpg' /><br />sometext{sometext2}<img src='b.jpg' />


[ASP.net] WebService 中使用AJAX 調用出現 "使用 JSON JavaScriptSerializer 序列化或還原序列化期間發生錯誤。字串的長度超過在 maxJsonLength 屬性上設定的值。"

2016年8月31日

因為一些需求,需要將圖片轉成Base64後透過ajax 往後送,我的ajax 是用web service 寫的,結果出現

{"Message":"使用 JSON JavaScriptSerializer 序列化或還原序列化期間發生錯誤。字串的長度超過在 maxJsonLength 屬性上設定的值。
參數名稱: input","StackTrace":"   於 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)
 於 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)\r\n   於 System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest(HttpContext context, JavaScriptSerializer serializer)
 於 System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)
於 System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.ArgumentException"}

於是我查一下資料看到這一篇: http://forums.asp.net/t/1697754.aspx?what+is+maxJsonLength+in+jsonSerialization+
參考文件 : https://msdn.microsoft.com/zh-tw/library/system.web.script.serialization.javascriptserializer.maxjsonlength(v=vs.110).aspx

原來預設是有上限的,所以要超越那上限必須在web.config 加入 :

<configuration>
 
...
 
   <system.web.extensions>
    <scripting>
      <webServices >
        <jsonSerialization maxJsonLength="10240000"></jsonSerialization>
 
      </webServices>
    </scripting>
  </system.web.extensions>
 
...
 
</configuration>

這樣就可以超越限制,至於多少字符那就在換算調整


[Javascript] Croppie 初始後再換圖片

2016年8月26日

之前文章提到了 如何使用 Croppie 做圖片裁切,今天要筆記一下如何,在 Init 後置換圖片,因為其實這蠻常用到的,這剛好也有朋友問我,我查了一下文件才知道,原本我以為要用destory 後來發現重新bind 就好
image3


[Javascript] 筆記一下用法,input file 選取檔案後預覽圖片

選取一個圖片檔案後,直接進行預覽,以前我都是傳到server 按下上傳後再做預覽,現在可以透過javascript 做到,這樣對使用者來說會更加的直覺看到選取圖片是否正確
14107795_10210384687240134_523340774573149763_o

function InputLoadImageToBindImageElement(inputEl, imgEl) {
 
    if (inputEl.files && inputEl.files[0]) {
        var reader = new FileReader();
 
        reader.onload = function (e) {
            $(imgEl).attr('src', e.target.result);
        }
 
        reader.readAsDataURL(inputEl.files[0]);
    }
}

使用方式:

HTML:

<img src="" id="image1"  />
<input type="file" name="name" id="iptImage1" value="" />
 

呼叫:

$("#iptImage1").change(function () {
          InputLoadImageToBindImageElement(this, $('#image1'));
});

sample:


[CSS] Summernote 把取消上傳圖片的放大縮小(Image Resize)

2016年8月25日

最近在用summernote 然後因為客戶會上傳圖片,但是客戶又喜歡拉大拉小,結果導致code 變成 強制設定了width 和 height ,所以最好的方式就是讓客戶不要去拉動圖片,但是我找不到參數設定,在Ben幫忙下找到了一個解法就是從css 層級直接把邊框取消
sh014


[C#] Regex筆記 - 小寫英文 數字 至少出現一次 不能有符號 限定字數

2016年8月18日

筆記一下 主要是專案需求 輸入6-15位小寫英文、數字
image


[Javascript] 關於拖曳(jQuery UI sortable) 的一些操作(二)

2016年8月17日

上一篇文章我們談到一些關於jQuery UI 拖曳 的一些操作我們繼續把它說完
image


[Javascript] 關於拖曳(jQuery UI sortable) 的一些操作(一)

最近專案要用到一些東西想說紀錄一下,主要就是拖曳的一些需求,基本上都是參考來自於 jQuery UI (  https://jqueryui.com/sortable/ )
image


[Javascript] 介紹一個好用的裁切圖片的套件 ,並取得裁切後的大小

2016年8月16日

最近專案需求要用到裁切圖片,網路上很多根據 Eleven Hsiao 推薦一套很簡單的套件 -  Croppie ( https://github.com/foliotek/croppie )
image


[Pokemon GO] 寶可夢計算 IV 小技巧

2016年8月14日

許多朋友在玩  Pokemon  Go    常常再說 IV IV   到底什麼是 IV( Individual Value) ,簡單的說 你CP 抓到很高的怪獸,如果IV 本身不高如果你練到最強,會比當初你可能抓到CP 低的怪物但是練到最高的還要弱,這是一個設計上的變數,簡單的說一開始抓到高CP 不一定高 IV 所以那算是隱藏參數,但是請注意IV 也不是絕對,因為高 IV 如果你CP 過低,練上去星塵或是糖果不夠也沒有,所以這是很巧妙的抉擇導致這遊戲更加的趣味性,如果高CP ,高 IV 但是"技能”不強也不一定完美,所以高IV只是追求一個相對完美,接下來就是來看你手上怪獸IV 的方法
首先到這網站 http://pokeiv.net/
sh183


[ErrorLog][Xamarin] cannot convert java.lang.object

2016年8月8日

之前文章( GridView 製作兩欄的列表)我們提到,關於GridView 製作這樣的列表
Screenshot_20160808-165930


[Xamarin] 播放Gif 圖片

2016年8月5日

想要用Gif 處理一些簡單的動畫問題,所以找了一下方法 發現 其實Xamarin Component 有提供 ( https://components.xamarin.com/view/gifimageviewandroid )
sh168

但是下方範例關於引入drawable 圖檔一直都無法法成功,於是我換另一種寫法才可以,不知道哪邊有問題不過解決就好


[Xamarin] 使用 CardView 來製作Android Layout

2016年8月4日

基於Material Design 中有一個有趣且好用的Layout 叫做 CardView ,這是網路上的展示畫面
card_travel


[MANTIS] 中文報表亂碼問題,最簡單的解法

2016年8月3日

一個報表的問題紀錄一下,當你安裝完MantisBT 會發現報表會中中文亂碼問題,網路上看修正方式都超級複雜,有的要系統字型,但是你是虛擬主機,你不可能叫人家電腦幫你裝一個字體吧。

image


[Xamarin] PagerSlidingTabStrip 平均分配寬度,不用滾動

2016年8月2日

之前發表幾篇關於 PagerSlidingTabStrip  製作滑動Tab 的文章,有朋友剛好用到,問我一個功能,他差點用C# 端去解決,後來發現調整參數就可以了,重點是要做出來像是這樣,上面的頁籤並且不需要滑動功能
Screenshot_20160802-163628


[MANTIS] 更改上傳檔案到磁碟,解除檔案大小限制

2016年8月1日

比較常用Mantis 進行專案上的控管,但是他預設是將檔案上傳到Database 這一點我不甚喜歡,這邊找一下文件紀錄一下,改變儲存體至磁碟並非DB
image

這邊測試的版本是 1.3.0


[Xamarin] PagerSlidingTabStrip 換背景顏色,換selected 文字顏色,selected 背景顏色

2016年7月29日

上一篇文章 裡用 PagerSlidingTabStrip  建立 material style tab ,這篇我們要調整一些視覺上的東西分別用幾種不同的方式
Screenshot_20160729-125718


[Xamarin] 製作可以滑動的Tab

2016年7月28日

之前幾篇文章,是利用一個網路上的open source ( https://github.com/Cheesebaron/ViewPagerIndicator ) 來製作,但是後來發現原來Xamarin Component 裡面有一個  Material Pager Sliding Tab Strip 也有一個可以做出滑動的Slider Tab ,基本上就是中規中矩比較符合Material  Design 
material_tabs


[ErrorLog] 遇到 Java.Lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

遇到錯誤訊息 Java.Lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 怎麼解決呢?

sh112


[Xamarin] 可滑動Tab 實作 , 改變Style

承襲上一篇 [Xamarin] 可滑動Tab 實作 我們製作了可以滑動的 Tab ,但是style 方面有點複雜寫一篇紀錄一下,看一下完成後結果是長這樣,基本上我用色比較誇張這樣就可以知道要改那些地方
Screenshot_20160727-185843


[Xamarin] 可滑動Tab 實作

2016年7月27日

今天要製作一個有滑動功能的Tab ,大概像是這樣
Screenshot_20160727-161822
因為網路上的範例都頗複雜,所以我就把範例盡量簡單化


[Xamarin] GridView 高度使用 wrap_content

2016年7月26日

為何要這樣做呢? 因為GridView 內建Scroll ,但是我希望用外層的ScrollView 來控管,但是這時候你會發現會長這樣
Screenshot_20160726-142430
就算妳的height 設定成 wrap_content 也沒有用,依然會長這樣,這時候我們需要繼承GridView 來改寫一些東西


[Xamarin] GridView 製作兩欄的列表

2016年7月25日

最近朋友問我怎麼做兩欄式的ListView ,結果他用 LinearLayout 拼湊出來,千萬不要搞死自己,可以用更好的方法的。

Screenshot_20160725-173511


[Xamarin] Android 製作滑動含手勢輪播廣告 +網路圖片 +點擊事件

2016年7月20日

之前分享一篇文章關於 Android 製作滑動含手勢輪播廣告 但是那時候用的圖片是由內建的資源,因為剛好朋友在問我這問題,我就順手改寫了一段讓他支援網路圖片,並且點擊之後會有觸發Toast 事件
1.先下載 Source Code ( https://github.com/donma/Xamarin.TestSliderAutoPlay )

Screenshot_20160720-155902


[Xamarin] 用ListFragment 製作 List

2016年7月19日

之前在 製作過ListActivity (http://no2don.blogspot.tw/2013/07/xamarin-listactivity.html) ,今天我們聊聊使用ListFragment 來製作列表,至於為什麼呢?因為現在官方很多範例都是用ListFragment

Screenshot_20160719-153414


[C#] 建立黑貓的託運單

如果跟黑貓整合你必須要印出貼在貨物上面的託運單,至於API 跟單號,你必須要跟他們的系統整合,你跟他們簽約後就會拿到相關資訊跟規則,這篇文章的重點在於印出那個A4-3模 的東西,基本上就是花時間去弄,想說都弄了不如就提供給後面要用.net 開發的人員,印出會長這樣
sh057


[C#] 讀取字型檔案,但是不會被鎖住

2016年7月15日

最近在在處理圖形問題,需求是必須要合成Barcode,這點不困難,只需要下載barcode 字型檔.ttf 就可以了,但是讀取後拿來畫在bitmap上面,之後那ttf檔案就被系統鎖起來,刪都刪不掉,即使我dispose 一堆東西也一樣,後來網路上查到一些作法,乾脆整理成一個function 之後就讀取.ttf 變成Font 物件,而且不會被系統lock住

private static Font GetFontFromFileWithoutLock(float size,string fontPath)
{
 
    var fontBytes = System.IO.File.ReadAllBytes(fontPath);
 
    //讀到記憶體中
    var fontBuffer = Marshal.AllocHGlobal(fontBytes.Length);
    Marshal.Copy(fontBytes, 0, fontBuffer, fontBytes.Length);
    PrivateFontCollection privateFont = new PrivateFontCollection();
 
    //從記憶體取得
    privateFont.AddMemoryFont(fontBuffer, fontBytes.Length);
    var res = new Font(privateFont.Families[0], size);
 
    privateFont.Dispose();
    return res;
}

很簡單,給需要的人


[Xamarin] Android 製作滑動含手勢輪播廣告

2016年7月14日

主要是做出滑動的橫幅效果像是這樣,這邊是用一個github 上面的套件,不過他官方範例有點雜,這邊我就做個小整理
dsada


[.Net] 在Plesk 中開啟網站程式寫入權限

台灣許多虛擬主機商(戰國策捕夢網)很喜歡使用PLESK 系統,但是根據版本不同很多時候預設值都不太一樣,因為新版的有點複雜我找了一下才知道,預設你程式如果要寫入資料預設會錯譬如 File.WriteAllText(AppDomain.BaseDirectory ,.... 之類的操作,所以下面就是簡單講解一下如何開啟寫入權限

1.選擇左方訂閱 => 之後選擇你的網站
2.選檔案管理員
sh027


[Xamarin] Splash Screen Full Screen 問題,全螢幕沒有上方的 Status Bar

2016年7月12日

主要來自於官方範例,教你如何製作 Splash Screen (https://developer.xamarin.com/guides/android/user_interface/creating_a_splash_screen/) ,因為測試了一下,他都不會全螢幕,執行起來是長得像是下面這樣子
sh009


[Xamarin] Visual Studio Xamarin Update 一直找不到在哪邊更新

2016年7月11日

Windows 10 每次在打開Visual Stduio 的時候一直跳出Xamarin 有新版本要更新,但是一直找不到,後來找了一下才發現,藏在一個小地方,選擇Tools => Options
sh103


[Xamarin] Android 關於 NavigationDrawer 簡單實作(實作篇)

2016年7月7日

上一篇文章([Xamarin] Android 關於 NavigationDrawer 簡單實作(介面篇))我們聊到關於怎麼建立簡單的 NavifationDrawer ,今天我們來聊聊上方的ToolBar。

未命名


[Xamarin] Android 關於 NavigationDrawer 簡單實作(介面篇)

2016年7月5日

在google 知名的Material design  中 Navigation drawer 是蠻常看見的,而且真的蠻方便好用的,但是事實上,在Android Stduio 裡面內建範例超麻煩的, 那在Xamarin

sh070


[ASP.net][Javascript] 在Client 端按下enter 阻止 post 事件被發動

最近朋友問我,因為他在一個input  text 中偵測keypress 的enter 事件,但是按下去後依然會觸發post 事件,即使不是runat server 的物件也是這樣,問我有沒有辦法可以阻enter 不去觸發postback,紀錄一下,原因是因為預設.net form 是runat server 會觸發postback  ,理論上在enter  按下後是可以透過client去阻擋,但是因為泡泡事件的關係,所以會導致她還是會將事件向下傳遞所以做法就是

<script>
     
        $('#txtTest').keypress(function (e) {
     
            if (e.keyCode == 13) {
     
                //你要執行的事件
                //..
     
                //加上這兩行就不會觸發post事件
               e.preventDefault();
               return false;
           }
       });
</script>

紀錄一下,給碰到有需要的人


[ASP.net] WebConfig 中加入 .woff , .eot , .ttf , .svg

2016年7月1日

因為常用到summernote 他有字型的問題,必須在WebConfig 裡面加入這幾個檔案的MIME TYPE ,因為常用到都要重新收集一次,下面筆記一下加入的Web.Config 的部分

<system.webServer>
 
  <staticContent>
    <remove fileExtension=".woff" />
    <remove fileExtension=".eot" />
    <remove fileExtension=".ttf" />
    <remove fileExtension=".svg" />
 
    <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
    <mimeMap fileExtension=".ttf" mimeType="application/font-sfnt" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
 
 
  </staticContent>
 
 
</system.webServer>

 

參考資料:
http://stackoverflow.com/questions/9021946/add-mime-mapping-in-web-config-for-iis-express


[C#][ASP.net] 我們來聊聊Facebook Message Bot 如何實作 (二)

2016年6月17日

接續上一篇  [C#][ASP.net] 我們來聊聊Facebook Message Bot 如何實作 (一) 我們來繼續聊聊如何接受,發送,驗證 關於facebook message bot 的相關操作。
sh227


[C#][ASP.net] 我們來聊聊Facebook Message Bot 如何實作 (一)

之前facebook 發布了 bot 讓你可以透過寫程式讓你可以針對紛絲團寫出回應的機器人
_89195617_310462f6-7973-40d9-93a9-1cdbe1c565a6
(來源: http://www.bbc.com/news/technology-36021889)

看一下臉書的官方文件( https://developers.facebook.com/docs/graph-api/reference/v2.6/message )其實蠻詳細的,官方用的是javascript and node.js 這篇文章我會用C# + ASP.net來完成,並且就筆記一下需要注意的地方


[ASP.net] Summernote 圖片上傳存成實體檔案而不是預設的base64

2016年6月14日

Summernote 套件蠻常使用的,但是他圖片上傳預設是base64 所以預設的Code 是長這樣
image

因為 code 很多會變得有點慢,這點如何解決呢? 此測試版為 0.8.1


[C#] 透過 NReco.PdfGenerator 將 HTML轉PDF

2016年2月2日

因為一些需求,我要將報表轉PDF ,但是因為排版的關係,我想最簡單的方法就是產出HTML

然後,透過HTML轉PDF 網路上找一下很多方法可以轉,但是都要安裝些東西在本機,因為我機器不是自己的無法做到,所以我乾脆找一下網路

NReco.PdfGenerator 這套件可以簡單辦到



官方連結: http://www.nrecosite.com/pdf_generator_net.aspx
NUGET: https://www.nuget.org/packages/NReco.PdfGenerator/


[Javascript] 判斷是不是IE 包含 Edge

2016年1月28日

簡單判斷是不是IE 的Javascript Code , 因為朋友問就紀錄一下


[IoT] 在LinkIt 7688 Duo 中開機自動執行

2016年1月27日

當寫好  nodejs 的 code 如何讓他在 7688 中,插上電後就執行
基本上就是基於Linux 原則 去修改 /etc/rc.local
輸入  vim /etc/rc.local



當麻許的超技八 2014 | Design: no2don.