[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-09-05

筆記一下,用某個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-08-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-08-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-08-25

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


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

2016-08-18

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


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

2016-08-17

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


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

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


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

2016-08-16

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


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

2016-08-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-08-08

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


[Xamarin] 播放Gif 圖片

2016-08-05

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

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


[Xamarin] 使用 CardView 來製作Android Layout

2016-08-04

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


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

2016-08-03

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

image


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

2016-08-02

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


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

2016-08-01

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

這邊測試的版本是 1.3.0


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

2016-07-29

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


[Xamarin] 製作可以滑動的Tab

2016-07-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-07-27

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


[Xamarin] GridView 高度使用 wrap_content

2016-07-26

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


[Xamarin] GridView 製作兩欄的列表

2016-07-25

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

Screenshot_20160725-173511


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

2016-07-20

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

Screenshot_20160720-155902


[Xamarin] 用ListFragment 製作 List

2016-07-19

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

Screenshot_20160719-153414


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

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


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

2016-07-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-07-14

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


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

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

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


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

2016-07-12

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


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

2016-07-11

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


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

2016-07-07

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

未命名


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

2016-07-05

在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-07-01

因為常用到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-06-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-06-14

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

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


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

2016-02-02

因為一些需求,我要將報表轉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-01-28

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


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

2016-01-27

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



當麻許的超技八 2014 | Donma Hsu Design.