วันพฤหัสบดีที่ 24 มกราคม พ.ศ. 2562

ใช้ Automator ของ OSX ทำ Schedule control Event

Mac OSX มี เครื่องมือที่ดีมากในการทำ Schedule แต่ใช้ยากเหมือนกัน

Automator
ต้องการปิดเปิดไฟโดย call Switch จาก Webpage

เช่น

http://192.168.1.2/cgi-bin/relay.cgi?on   เปิด
http://192.168.1.2/cgi-bin/relay.cgi?off  ปิด


วิธีทำต้องไปเปิด Security ก่อน ให้ Automator ทำงานได้

แล้วไปเปิด Automator
สร้าง New Automator ที่เป็น Calendar Alarm ซึ่งจะไปแสดงใน iCal เองอัตโนมัติเมื่อ Save

เลือก Internet ->Get Specified URLs
.ใส่ http://192.168.1.2/cgi-bin/relay.cgi?on 

เลือก Display Webpages เอามาต่อ Automator จะทำงานตามลำดับ

save จะไปแสดงใน Calendar


ถ้าต้องการเปลี่ยนเวลาหรือเพิ่ม ก็ Edit และ Duplicate เปลี่ยนวันที่ได้

วันเสาร์ที่ 19 มกราคม พ.ศ. 2562

ทดสอบ OCR ของ Asure เป็น Rest api





      public void simplePost()
        {
            HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create("https://westcentralus.api.cognitive.microsoft.com/vision/v2.0/ocr?language=en&detectOrientation=true&textAngle=90");
            //       httpWebRequest.Headers.Add("Host","westcentralus.api.cognitive.microsoft.com");
           // getkey from microsoft
            httpWebRequest.Headers.Add("Ocp-Apim-Subscription-Key", "Microsoftkey");
#if JSON
            httpWebRequest.ContentType = "application/json";
#else
            httpWebRequest.ContentType = "application/octet-stream";
#endif
            httpWebRequest.Method = "POST";
         var  webStr= httpWebRequest.GetRequestStream();
            using (var streamWriter = new StreamWriter(webStr))
            {
                string json = " {\"url\":\"https:/myweb.com/beam1.png\"}";


                string localf = @"Y:\Documents\slapsp1.png";
#if JSON
                streamWriter.Write(json);
#else
                byte[] data = GetByteArrayOfImage(localf);
                webStr.Write(data,0,data.Length);
                webStr.Close();
#endif
                streamWriter.Flush();
                streamWriter.Close();
            }

            var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                string result = streamReader.ReadToEnd();
                textBox1.Text = result;
         }
        }

ทดลอง ล่าสุด ไม่ได้ ยังไม่รู้สาเหตุ


Code ของ Curl



curl -i -d "{\"url\": \"http://abc.com/x.jpg\"}" -H "Content-Type: application/json" -H "Prediction-Key: 1212324234123412341234" -X POST https://southcentralus.api.cognitive.microsoft.com/customvision/v3.0/Prediction/xxxx-aaaa-bbb-ccc/classify/iterations/Iteration3/url?application=CHK_ABC


Code ของ Python 3.8 ต้องลง rest ก่อน python -m pip install rest



import requests

headers = {
    'Content-Type': 'application/json',
    'Prediction-Key': 'key',
}

params = (
    ('application', 'CHK_ABC'),
)

data = '{"url": "http://abc.com/x.jpg"}'

response = requests.post('https://southcentralus.api.cognitive.microsoft.com/customvision/v3.0/Prediction/prjectid-xxxx/classify/iterations/Iteration3/url', headers=headers, params=params, data=data)

print(response.text)  

วันพฤหัสบดีที่ 17 มกราคม พ.ศ. 2562

Alibre หรือ Geomagic เมนู Ribbon หาย หลังจาก Update Windows 10 build 1806

เป็นปัญหา กันทั่วกับ Update Win10 1806 API Ribbon เปลี่ยน บางตัว โดย เมนูใน Ribbon จะหายไป แล้วเป็น กากกระบาทสีแดงแทน
กรณี menu หาย ถ้าเป็น Alibre Version ใหม่ให้แก้ที่
Menu->Options-> Display-> Use Glass Mode Options

แต่ใน Vesion เก่าจะทำไม่ได้ ต้องกลับไปใช้ Menu แบบ Pulldown menu แทน ให้ ไม่เลือก Hide Menu และ ไม่เลือก Ribbon จะแสดงเป็น Menu แบบ เก่า ก็จะใช้งาน ได้ สำหรับคนที่เขียนเป็น อาจจะชอบมากกว่า พื้นที่ การเขียนจะกว้างกว่า