557 items(1/56) 2 3 4 5 Next » Last »|

เรียน Data Analytics

โดย Little Bear on November,17 2019 11.41

What is Google Data Studio?

Google Data Studio is a FREE data visualization tool that allows you to import data from multiple sources and visualize them on a report that is easy to read and share. You can import data from any source using Google Sheets or Data Connectors to create the report you want.

What is Google Colaboratory?

Colaboratory is a free Jupyter notebook environment that requires no setup and runs entirely in the cloud. With Colaboratory you can write and execute code, save and share your analyses, and access powerful computing resources, all for free from your browser.


Resource

Test IoT

โดย Little Bear on November,09 2019 15.38




ลอง IoT

โดย Little Bear on November,09 2019 14.46

<script src="https://cdn.netpie.io/microgear.js"></script>

<script> const APPID = "softganz-test"; // AppID const KEY = "TIoxpISdG19dnmH"; // Key const SECRET = "flK17giWJ1pCMuepAD0HTOK6p"; // secret

const ALIAS = &quot;browser&quot;;          // ตั้งชื่ออุปกรณ์ เป็นอะไรก็ได้

var microgear = Microgear.create({
    key: KEY,
    secret: SECRET,
    alias : ALIAS
});

<br /> // สร้างฟังก์ชั่นที่จะตอบสนองต่อ message ที่ เข้ามา microgear.on('message', function(topic,msg) {
&nbsp; &nbsp; &nbsp; //ในที่นี้ เราจะเอาข้อความไปแทนข้อความของ HTML element ชื่อ data &nbsp; &nbsp; document.getElementById("data").innerHTML = msg; });

&amp;nbsp; // สร้างฟังก์ชั่นที่จะถูกเรียกเมื่อ connect NETPIE สำเร็จ
microgear.on('connected', function() {
    microgear.setAlias(ALIAS);      // สามารถเปลี่ยน alias ได้

&nbsp; &nbsp; // แสดงข่อความให้ทราบว่า connect สำเร็จ document.getElementById("data").innerHTML = "Now I am connected with netpie...";
<br /> &nbsp; &nbsp; // ตั้ง timer ให้ทำงานทุก 1 วินาที (1000 หมายถึง 1000 ms) setInterval(function() {

        // ส่งข้อความไปยังอุปกรณ์ชื่อตามตัวแปร ALIAS ซึ่งก็คือตัวเอง
        microgear.chat(ALIAS,&quot;Hello from myself at &quot;+Date.now());
    },1000);
});

microgear.connect(APPID);&amp;nbsp; // สร้างการเชื่อมต่อไปยัง NETPIE

</script>

<div id="data">_____</div>




<script src="https://cdn.netpie.io/microgear.js"></script>

<script> const APPID = "softganz-test"; // AppID const KEY = "LdB6MvSys2PWB9j"; // Key const SECRET = "CuUiEku60fhEw7TmFqezhmHN8"; // Secret

const MYNAME = &quot;alice&quot;;   &amp;nbsp; &amp;nbsp; &amp;nbsp;  // ชื่อของตัวเอง
const YOURNAME = &quot;bob&quot;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  // ชื่อของเพื่อนที่จะคุยด้วย

var microgear = Microgear.create({
    key: KEY,
    secret: SECRET,
});

var times = 0

microgear.on('message',function(topic,msg) {
    document.getElementById(&quot;data&quot;).innerHTML = topic+&quot; : &quot;+msg;
});

microgear.on('connected', function() {
    microgear.setAlias(MYNAME);         // ตั้งชื่อตัวเอง
    document.getElementById(&quot;data&quot;).innerHTML = &quot;Now I am connected with netpie...&quot;;&lt;br /&gt;

    setInterval(function() {

        // chat หาเพื่อน
        times++
        microgear.chat(YOURNAME,&quot;Hello from &quot;+MYNAME+ &quot; #&quot;+times+&quot; at &quot;+Date.now());
    },1000);
});
microgear.on('disconnected', function() {
    document.getElementById(&quot;data&quot;).innerHTML = &quot;Now I am disconnected with netpie...&quot;;
});

microgear.connect(APPID);

</script>

<div id="data">_____</div>

<script src="https://cdn.netpie.io/microgear.js"></script>

<script>
    const APPID = "softganz-test";    // AppID
    const KEY = "cCm6NzTxtkscroD";        // Key
    const SECRET = "h4kTjFAQBUhPEP8o0U8O3fZ09";   // Secret

    const MYNAME = "bob"; &nbsp; &nbsp; &nbsp;  // ชื่อของตัวเอง
    const YOURNAME = "alice";&nbsp; &nbsp; &nbsp; &nbsp;  // ชื่อของเพื่อนที่จะคุยด้วย

    var microgear = Microgear.create({
        key: KEY,
        secret: SECRET,
    });
    
    var times = 0

    microgear.on('message',function(topic,msg) {
        document.getElementById("data").innerHTML = topic+" : "+msg;
    });

    microgear.on('connected', function() {
        microgear.setAlias(MYNAME);         // ตั้งชื่อตัวเอง
        document.getElementById("data").innerHTML = "Now I am connected with netpie...";<br />

        setInterval(function() {

            // chat หาเพื่อน
            times++
            microgear.chat(YOURNAME,"Hello from "+MYNAME+ " #"+times+" at "+Date.now());
        },1000);
    });
    
    microgear.on('disconnected', function() {
        document.getElementById("data").innerHTML = "Now I am disconnected with netpie...";
    });

    microgear.connect(APPID);
</script>

<div id="data">_____</div>
<script src="https://cdn.netpie.io/microgear.js"></script>

<script>
&nbsp;  const APPID = "softganz-test";                
&nbsp;  const KEY = "1xQjGzMtaNdX6R1";                    
&nbsp;  const SECRET = "6YyQujajj2nOcagkMyxckfvcL";   

&nbsp;  const ALIAS = "switch";

&nbsp; var microgear = Microgear.create({
&nbsp; &nbsp; key: KEY,
&nbsp; &nbsp; secret: SECRET,
&nbsp; &nbsp; alias : ALIAS
&nbsp; });

 function toggle() {
&nbsp; &nbsp; if(document.getElementById("button").innerText=="OFF"){
    document.getElementById("button").innerText = "Waiting for ON"
&nbsp; &nbsp; &nbsp; &nbsp; microgear.chat('pieled','1');   
&nbsp; &nbsp; }
&nbsp; &nbsp; else{
    document.getElementById("button").innerText = "Waiting for OFF"
&nbsp; &nbsp; &nbsp; &nbsp; microgear.chat('pieled','0');
&nbsp; &nbsp; }
 }
    
&nbsp; microgear.on('message',function(topic,msg) {
&nbsp; &nbsp; &nbsp; document.getElementById("data").innerHTML = "LED is "+(msg == 0 ? "OFF" : "ON");<br />
&nbsp; &nbsp; &nbsp; if(msg=="1"){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; document.getElementById("button").innerText="ON";
&nbsp; &nbsp; &nbsp; }else if(msg=="0"){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; document.getElementById("button").innerText="OFF";
&nbsp; &nbsp; &nbsp; }
&nbsp; });
&nbsp; microgear.on('connected', function() {
&nbsp; &nbsp; microgear.setAlias(ALIAS);
&nbsp; &nbsp; document.getElementById("data").innerHTML = "Now I am connected with netpie...";
&nbsp; });

microgear.connect(APPID);
</script>

<div id="data">_____</div>
<center>
<button onclick="toggle()" id="button">OFF</button>
</center>
// #include&nbsp; 2 บรรทัดนี้ ต้องมีเสมอ
#include <ESP8266WiFi.h>
#include <MicroGear.h>&nbsp; &nbsp; &nbsp;  <br />
<br />
<br />
const char* ssid&nbsp; &nbsp;  = "Handy6Plus";&nbsp; &nbsp; &nbsp; &nbsp; // ชื่อ ssid
const char* password = "nopassword";&nbsp; &nbsp; // รหัสผ่าน wifi

#define APPID&nbsp;  "softganz-test"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ให้แทนที่ด้วย AppID
#define KEY&nbsp; &nbsp;  "G0Z1T2E0GSOtfqJ"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ให้แทนที่ด้วย Key
#define SECRET&nbsp; "WGbwwUPpwcT10xL5fEEHoSWG1"&nbsp; &nbsp; &nbsp; &nbsp;  // ให้แทนที่ด้วย Secret

#define ALIAS&nbsp;  "pieblink"&nbsp; // ตั้งชื่อเล่นให้ device นี้

WiFiClient client;

int timer = 0;
char state = 0;

MicroGear microgear(client);&nbsp; &nbsp;  // ประกาศตัวแปร microgear

// สร้างฟังก์ชั่นที่จะถูกเรียกเมื่อมี message เข้ามา
void onMsghandler(char *topic, uint8_t* msg, unsigned int msglen) {
&nbsp; &nbsp; Serial.print("Incoming message --> ");
&nbsp; &nbsp; msg[msglen] = '\0';
&nbsp; &nbsp; Serial.println((char *)msg);

    // ถ้า message ที่เข้ามาเป็น 1 ให้เปิด LED ถ้าเป็น 0 ให้ปิด LED
&nbsp; &nbsp; if(*(char *)msg == '1'){
&nbsp; &nbsp; &nbsp; digitalWrite(LED_BUILTIN, LOW);&nbsp; // LED on
&nbsp; &nbsp; &nbsp; microgear.chat("switch","1");
&nbsp; &nbsp; }else{
&nbsp; &nbsp; &nbsp; digitalWrite(LED_BUILTIN, HIGH);&nbsp; // LED off
&nbsp; &nbsp; &nbsp; microgear.chat("switch","0");
&nbsp; &nbsp; }
}

// สร้างฟังก์ชั่นที่จะถูกเรียกเมื่อ microgear connect กับ NETPIE สำเร็จ
void onConnected(char *attribute, uint8_t* msg, unsigned int msglen) {
&nbsp; &nbsp; Serial.println("Connected to NETPIE...");
    // เราอาจจะใช้โอกาสนี้ ตั้งชื่อ หรือเปลี่ยนชื่อ หรืออาจจะทำอะไรบางอย่าง เช่น subscribe<br />
&nbsp; &nbsp; microgear.setAlias(ALIAS);
}

void setup() {
    // ประกาศให้ เวลามี message เข้ามา ให้กระโดดไปทำฟังก์ชั่น onMsghandler()
&nbsp; &nbsp; microgear.on(MESSAGE,onMsghandler);

    // ประกาศให้เมื่อ connect สำเร็จ ให้กระโดดไปทำฟังก์ชั่น onConnected()
&nbsp; &nbsp; microgear.on(CONNECTED,onConnected);

&nbsp; &nbsp; Serial.begin(115200);
&nbsp; &nbsp; Serial.println("Starting...");

&nbsp; &nbsp; pinMode(LED_BUILTIN, OUTPUT);

&nbsp;  // initiate Wifi
&nbsp; &nbsp; if (WiFi.begin(ssid, password)) {
&nbsp; &nbsp; &nbsp; &nbsp; while (WiFi.status() != WL_CONNECTED) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; delay(500);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Serial.print(".");
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; }

&nbsp; &nbsp; Serial.println("WiFi connected");<br />
&nbsp; &nbsp; Serial.println("IP address: ");
&nbsp; &nbsp; Serial.println(WiFi.localIP());

&nbsp;  // initial ตัวแปร microgear<br />
&nbsp; &nbsp; microgear.init(KEY,SECRET,ALIAS);

    // เชื่อมต่อไป NETPIE ไปยัง AppID ที่กำหนด
&nbsp; &nbsp; microgear.connect(APPID);&nbsp; // ฟังก์ชั่นเชื่อมต่อ NETPIE
}

void loop() {
    // เช็คว่า&nbsp; microgear ยัง connect หรือเปล่า
&nbsp; &nbsp; if (microgear.connected()) { // ตรวจสอบการเชื่อมต่อ NETPIE
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println("..."); // พิมพ์แจ้งการเชื่อมต่อ NETPIE สำเร็จ
        // เราต้องเรียก microgear.loop() เป็นระยะ ไม่เช่นนั้น connection จะหลุด
&nbsp; &nbsp; &nbsp; &nbsp; microgear.loop();

&nbsp; &nbsp; &nbsp; &nbsp; if (timer >= 10000) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Serial.println("Publish..."); // พิมพ์แจ้งการส่งข้อมูล NETPIE

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  // chat sาตัวเอง ด้วย state ที่ตรงข้ามกัน
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(state==0){
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  microgear.chat(ALIAS,state);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state=1;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  microgear.chat(ALIAS,state);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  state=0;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; timer = 0;
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; else timer += 100;
&nbsp; &nbsp; }
&nbsp; &nbsp; else {
&nbsp; &nbsp; &nbsp; &nbsp; Serial.println("connection lost, reconnect...");<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (timer >= 5000) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; microgear.connect(APPID);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; timer = 0;
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; else timer += 100;
&nbsp; &nbsp; }
&nbsp; &nbsp; delay(100);
}

Install AFP Share Server Protocal on Linux

โดย Little Bear on November,02 2019 12.53
sudo apt-get install netatalk
sudo nano /etc/netatalk/AppleVolumes.default

/shares                "Shares" /media/user/VolumeName  "ShareName"

sudo /etc/init.d/netatalk restart

วิทยานิพนธ์ - การประยุกต์ใช้แนวคิดคราวด์ซอร์สซิงในการทำแผนที่เครือข่ายเฝ้าระวังและช่วยเหลือผู้ประสบภัยพิบัติ จังหวัดสงขลา

โดย Little Bear on November,02 2019 12.28

การประยุกต์ใช้แนวคิดคราวด์ซอร์สซิงในการทำแผนที่เครือข่ายเฝ้าระวังและช่วยเหลือผู้ประสบภัยพิบัติ จังหวัดสงขลา

Applying Crowdsourcing Approach for the Development of Monitoring and Mitigation Network Map in Songkhla Province

ภาณุมาศ นนทพันธ์

Panumas Nontapan

วิทยานิพนธ์นี้เป็นส่วนหนึ่งของการศึกษาตามหลักสูตรปริญญา

วิทยาศาสตรมหาบัณฑิต  สาขาวิชาการจัดการระบบสุขภาพ

มหาวิทยาลัยสงขลานครินทร์

A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of

Master of Science in Health Systems Management

Prince of Songkla University

2556

ลิขสิทธิ์ของมหาวิทยาลัยสงขลานครินทร์

บทคัดย่อ

ชื่อวิทยานิพนธ์ การประยุกต์ใช้แนวคิดคราวด์ซอร์สซิงในการทำแผนที่เครือข่ายเฝ้าระวังและช่วยเหลือผู้ประสบภัยพิบัติ จังหวัดสงขลา

ผู้เขียน นายภาณุมาศ นนทพันธ์

สาขาวิชา การจัดการระบบสุขภาพ

ปีการศึกษา 2556

บทคัดย่อ

การวิจัยเชิงปฏิบัติการครั้งนี้เป็นการศึกษากระบวนคราวด์ซอร์สซิงเพื่อนำแนวคิดมาประยุกต์ใช้ในการพัฒนาเครื่องมือและกระบวนการสร้างข้อมูลแผนที่เครือข่ายเฝ้าระวังและช่วยเหลือผู้ประสบภัยพิบัติ จังหวัดสงขลา ภายใต้กรอบแนวคิดของการถ่ายโอนงานออกไปสู่มวลชนที่เป็นเครือข่ายของกลุ่มคนขนาดใหญ่ที่มีศักยภาพ มีความสนใจในเรื่องเดียวกัน และมีความตระหนักในการแก้ไขปัญหาร่วมกัน ดำเนินการด้วยรูปแบบที่เปิดกว้างและไม่ระบุตัวตน โดยการเสียสละเวลามาร่วมกันปฏิบัติการผ่านช่องทางการสื่อสารแลกเปลี่ยนข้อมูลด้วยเครือข่ายอินเทอร์เน็ตในการรวบรวมความรู้ติดตัวอันเนื่องจากสถานที่เกิดและประสบการณ์เฉพาะของแต่ละคนที่กระจัดกระจายให้มาเป็นผลงานอ้างอิงรวมชิ้นเดียวผ่านเครื่องมือและกระบวนการจัดวางแนวทางแรงจูงใจของมวลชนที่เหมาะสม

ผลการศึกษาจากการดำเนินการ 9 ขั้นตอน พบว่า การออกแบบเครื่องมือจะต้องลดความซับซ้อนและลำดับขั้นในการทำงานให้เหลือน้อยที่สุดด้วยการแยกงานออกเป็นหน่วยย่อยที่เล็กที่สุดคือการปักหมุดและป้อนรายละเอียดที่จำเป็นเท่านั้น กระบวนการในการสร้างข้อมูลจากการประยุกต์แนวคิดคราวด์ซอร์สซิงโดยการจัดวางแนวทางแรงจูงใจของมวลชนพบว่าการเลือกกลุ่มมวลชน การเชิญชวนมวลชนเข้าร่วมดำเนินการโดยการกระจายปัญหาและสร้างแรงจูงใจต้องทำหลากหลายวิธีและช่องทางด้วยรูปแบบที่เหมาะสม ให้มากครั้ง ต่อเนื่องและบ่อยที่สุด สร้างแรงจูงใจภายใน เช่นความภาคภูมิใจ การมีจิตอาสา และแรงจูงใจภายนอก เช่น การนำผลที่ได้ไปใช้ประโยชน์ในการวางแผนรับมือก่อนเกิดเหตุ การแก้ปัญหาและช่วยเหลือในระหว่างเกิดเหตุ และวางแผนการฟื้นฟูหลังเกิดเหตุภัยพิบัติ การให้คุณค่ากับแนวความคิดของนวตกรรมของมวลชนและการรักษามวลชนให้อยู่ร่วมในระยะยาวโดยการนำข้อเสนอแนะของมวลชนมาใช้ในการปรับกลยุทธ์การดำเนินการ รวมถึงการเพิ่มศักยภาพของมวลชนในการใช้งานเครื่องมือด้วยวิธีการให้ความรู้เพิ่มเติม การช่วยเหลือดำเนินการในสิ่งที่มวลชนไม่ถนัด หรือกระทั่งให้การสนับสนุนเครื่องมือในการทำงานเพิ่มเติม

ข้อค้นพบจากการศึกษาที่จะทำให้ดำเนินโครงการคราวด์ซอร์สซิงได้สำเร็จคือ คณะทำงานโครงการต้องให้ความสำคัญและสามารถสร้างความสัมพันธ์กับมวลชนเพื่อสร้างแรงจูงใจที่เหมาะสมที่จะทำให้มวลชนผู้มีจิตอาสาเข้ามาร่วมในการสร้างสรรค์ผลงานผ่านเครื่องมือสำหรับดำเนินการเก็บข้อมูลที่ใช้งานได้อย่างสะดวกด้วยช่องทางการสื่อสารผ่านเครือข่ายอินเทอร์เน็ตที่เข้าถึงได้อย่างกว้างขวาง ดำเนินการปักหมุดได้อย่างรวดเร็วใช้เวลาน้อย และใช้งานง่ายไม่ซับซ้อนโดยลดขั้นตอนการทำงานให้เหลือน้อยที่สุด รวมถึงการเพิ่มศักยภาพของมวลชนในการใช้งานเครื่องมือด้วยการให้ความรู้หรือแม้กระทั่งให้ความช่วยเหลือในการทำ และดำเนินการโครงการในช่วงเวลาที่เหมาะสมเช่นช่วงเฝ้าระวังน้ำท่วมที่มวลชนเริ่มทำกิจกรรมต่างๆ นอกจากนี้ยังพบว่าพื้นที่สำหรับดำเนินการต้องมีแผนที่ดาวเทียมความละเอียดสูงที่สามารถเห็นรายละเอียดของสถานที่หรือบ้านในชุมชนได้อย่างชัดเจน คราวด์ซอร์สซิงเป็นแนวทางหนึ่งที่สามารถนำมาประยุกต์ใช้ในการเก็บรวบรวมข้อมูลจำนวนมากด้วยต้นทุนค่าใช้จ่ายที่ต่ำ อาศัยศักยภาพของมวลชนที่มีความรู้ในเรื่องนั้น ๆ อยู่แล้ว โดยไม่จำเป็นต้องสร้างความรู้ขึ้นมาใหม่ ดำเนินการผ่านเครื่องมือสำหรับเก็บข้อมูลที่ใช้งานได้อย่างสะดวก รวดเร็ว และง่ายดาย ประกอบกับการจัดวางแนวทางในการสร้างแรงจูงใจที่เหมาะสมเพื่อให้มวลชนเข้ามาร่วมดำเนินการ โดยให้ความสำคัญกับแนวคิดและความต้องการของมวลชนเป็นแนวทางหลักในการปรับกลยุทธ์ของการดำเนินการแต่ละขั้นตอนตลอดการทำโครงการ และยังเป็นกระบวนการที่สามารถนำไปประยุกต์ใช้ในการทำข้อมูลได้หลากหลายรูปแบบโดยการปรับเปลี่ยนเครื่องมือ กระบวนการและแนวทางในการจัดวางแรงจูงใจของมวลชนให้เหมาะสมกับรูปแบบของโครงการ

คำสำคัญ คราวด์ซอร์สซิ่ง, การถ่ายโอนงานให้มวลชน, แผนที่เครือข่าย, สงขลา

Thesis Title Applying Crowd Sourcing Approach for the Development of Monitoring and Mitigation Network Map in Songkhla Province

Author Panumas  Nontapan

Major Program Health Systems Management

Academic Year 2013

Abstract

This action research aimed to study crowdsoucing process in order to apply the concept to the development of tools and the process of mitigation network mapping and to help victims of disasters in Songkhla province. It was conducted under the concept of transferring works to the mass who were big groups of potential people sharing common interests and realizing mutual problem-solving. It was done in wide and open forms and participants were not identified. They had devoted their time to participate in via internet information-exchanging communication to collect inherent knowledge of each individual. As the scene of incidents and their unique experiences were scattered, they were accumulated and made into one reference via tools and the mass’s suitably placed-motivation process.

The finding from nine-step study was that to design tools, the complexities and steps of work must be minimized to the least. Dividing works into smallest subunits was to peg and merely feed necessary details.  The process in creating data from applying the concept of crowdsoucing by placing the mass’s motivation process was found that selecting group of mass and inviting them to participate in by dispersing problems and motivating must be done in various ways and channels with suitable forms, as often as possible and consistently. Build inner motivation such as pride and public consciousness and build external motivation such as applying the result to the planning to cope with the problem before it happened. Solve problems and give help during the incidents and plan restoration after the disaster.  Give value and innovative idea of the public and keep them participate in a long term by applying their suggestion to operations strategies, as well as increase their potential in using tools by adding more knowledge. Help them with their weakness or support more tools when doing additional works.

The finding from the study which enabled crowdsoucing to accomplish was that the work committee must be focused and able to make relationship with the mass to create suitable motivation. It must encourage them to have public consciousness to work through tools to collect data more conveniently via internet and must be widely accessible. Be able to peg quickly with shorter time and the work must not be complicated, has fewer steps, as well as able to increase potential of the mass in using tools by educating them or even helping them. Carry out the project in the right time such as during the time of watching out for the flood when the public started to commence on activities. Besides, it was found that the essential supporting factors were having satellite with frequency high enough to clearly see the details of places in the community.

Crowdsoucing was one of the ways which could be applied to collect a huge number of data with low cost. It relied on the potential of the mass that already had specific knowledge and was not necessary to build a new knowledge. It was conducted via collecting tools which were easy, fast and convenient to use. Furthermore, organizing suitable motivation for the mass to participate in by paying attention to their ideas and needs was the main method to apply the strategies to carry on the works in each step throughout the project. There were also processes to be able to apply to use in the data in various forms by adjusting tools, procedures and the ways to motivate the mass to suit to the form of project. Keywords: Crowdsourcing, transferring work to the mass, Network Mapping, Songkhla

กิตติกรรมประกาศ

ผู้วิจัยขอขอบพระคุณบุคลากรหลายๆ ฝ่ายที่ให้ความอนุเคราะห์ และสนับสนุนอย่างต่อเนื่องจนทำให้วิทยานิพนธ์เรื่องนี้สำเร็จลุล่วงไปด้วยดี บุคลากรที่เกี่ยวข้องมีดังนี้

คณะทำงานโครงการเครือข่ายเมืองในเอเซียเพื่อรับมือการเปลี่ยนแปลงสภาพภูมิอากาศเมืองหาดใหญ่ (ACCCRN) ทุกท่านที่ช่วยให้คำแนะนำการดำเนินงานอย่างต่อเนื่อง และหนุนช่วยกิจกรรมจนการวิจัยลุล่วงไปด้วยดี

นพ.อมร  รอดคล้าย อาจารย์ที่ปรึกษาวิทยานิพนธ์หลัก ที่ให้แนวคิด คำแนะนำ กำลังใจ และตรวจสอบวิทยานิพนธ์จนเสร็จสมบูรณ์ รวมถึงขอขอบคุณทีมงานจากสถาบันการจัดการระบบสุขภาพ มหาวิทยาลัยสงขลานครินทร์ (สจรส.ม.อ.) ที่ได้อำนวยความสะดวก และช่วยเหลือให้วิทยานิพนธ์สำเร็จลุล่วงไปได้ด้วยดี มูลนิธิชุมชนสงขลา เจ้าหน้าที่โครงการ ที่สนับสนุนการดำเนินงานของผู้วิจัย โดยเฉพาะชาคริต โภชะเรือง ผู้จัดการมูลนิธิชุมชนสงขลา เป็นผู้ติดต่อประสานงาน และร่วมจัดกระบวนการในชุมชน

คณะทำงานและมวลชนในชุมชนตำบลคลองหลา ตำบลทุ่งลาน ตำบลโคกม่วง ตำบลคลองหอยโข่ง ตำบลคูเต่า และเทศบาลนครหาดใหญ่ ที่เป็นผู้เข้าร่วมในกระบวนการทำวิจัย ช่วยกันเสนอแนวคิดและข้อเสนอแนะต่าง ๆ ร่วมกันจัดทำแผนที่ จนกระทั่งงานวิจัยชิ้นนี้เสร็จสิ้นลง งานวิจัยนี้ได้รับการสนับสนุนทุนอุดหนุนจากมหาวิทยาลัยสงขลานครินทร์ ประจำปีการศึกษา 2555

ท้ายสุดนี้ผู้วิจัยขอขอบพระคุณ บิดา มารดา ผู้อบรมเลี้ยงดู ภรรยา พี่ เพื่อน และผู้ที่เกี่ยวข้องทุกท่านที่มีส่วนสนับสนุน เป็นกำลังใจ และช่วยเหลือผู้วิจัยในทุก ๆ ด้านมาโดยตลอด

ภาณุมาศ  นนทพันธ์

iMed@home Application

โดย Little Bear on October,02 2019 14.43
  • เราใช้แนวคิดของ Crowdsourcing มาใช้ในการออกแบบ Application เพื่อให้เป็นเครื่องมือสำหรับ Social Networkนำมาใช้ในการเก็บข้อมูลที่จะนำไปสู่ช่วยเหลือสังคม โดยใช้กระบวนการเยี่ยมบ้านเป็นกลไกในการเก็บข้อมูลสุขภาวะและความต้องการ ซึ่งจะทำให้ข้อมูลมีความเคลื่อนไหวอยู่ตลอด ความต้องการที่เก็บรวบรวมมาจะถูกนำไปดำเนินการช่วยเหลือโดยชุมชนและหน่วยงานที่เกี่ยวข้อง
  • กลุ่มผู้ใช้ 2 กลุ่มคือ 1. ผู้ที่ทำงานดูแลในชุมชนเช่น อสม. รพ.สต. และ 2. กลุ่ม Admin ที่ทำงานระดับพื้นที่ซึ่งจะเห็นข้อมูลในภาพรวม
  • การเกิดขึ้นของศูนย์สร้างสุข ได้นำ iMed@home มาเป็นเครื่องมือในการเก็บข้อมูลของ อสม.เชี่ยวชาญ  เป็นการเปลี่ยนวิธีการในการเก็บข้อมูลจากกระดาษมาผ่าน app ทำให้เห็นข้อมูลการทำงานแบบ realtime มีการแบ่งปันข้อมูลในการทำงานระหว่างผู้ใช้งาน

ปัจจุบัน การใช้แอพพลิเคชั่น iMed@home ทิศทางในภาพใหญ่สามารถดำเนินการได้ ๓ ระดับ ได้แก่

๑.ใช้ระบบเยี่ยมบ้านเพื่อสำรวจความต้องการ และรายงานกิจกรรมการเยี่ยมบ้าน โดยสมาชิกใครก็ได้ที่ติดตั้งแอพฯนี้แล้วสมัครสมาชิกหรือสมัครผ่าน www.communinfo.com ทางใดทางหนึ่ง นับเป็นขั้นตอนพื้นฐานและง่ายที่สุด

๒.การแต่งตั้ง Admin โดยกำหนดคนรับผิดชอบระดับตำบล อย่างน้อย ๒ คนในการทำหน้าที่ประสานงานกับทีมกลางจังหวัด และสามารถใช้ระบบกลุ่มในแอพฯ ดึงสมาชิกในลูกทีมของตนเข้ามาเพื่อให้เกิดระบบการทำงานเป็นทีม แล้วจากนั้นดึงข้อมูลผู้ป่วยเข้ามา ระบบกลุ่มจะทำให้สมาชิกสามารถเข้าถึงข้อมูลของจิตอาสาที่เข้าไปดำเนินการกับผู้ป่วยคนเดียวกัน

ระบบกลุ่มแตกต่างกับระบบเยี่ยมบ้านแบบแรกก็คือ แบบแรกใครลงข้อมูลใครก็เห็นเฉพาะข้อมูลคนนั้น จะไม่เห็นข้อมูลของคนอื่นที่มาทำงานช่วยเหลือผู้ป่วยคนเดียวกับตน

ในส่วน Admin ที่ได้รับการอนุมัติสิทธิ์จะสามารถดูและแก้ไขข้อมูลของทุกคนในพื้นที่ที่รับผิดชอบ

๓.การบูรณาการระดับตำบลโดยร่วมกันจัดทำแผนพัฒนาคุณภาพชีวิตระดับตำบลและระดับบุคคล กรณีนี้จะมีแบบสอบถามเฉพาะไม่ว่าจะเป็นคนพิการ ผู้สูงอายุติดบ้านติดเตียง ผู้ปวยรอการฟื้นฟู คนยากลำบากฯ หากพื้นที่ต้องการดำเนินการเชิงลึก สามารถใช้แบบสอบถามดังกล่าวและระบบการทำ Care plan รายบุคคลดำเนินการ

ระดับนี้หวังผลการทำงานแบบบูรณาการความร่วมมือกับทุกหน่วยงานที่เกี่ยวข้อง

แล้วแต่พื้นที่ว่าสนใจจะทำงานในระดับใด

NAS200 ssh Legacy Options

โดย Little Bear on March,16 2019 14.08

ssh เพื่อเข้าไปจัดการข้อมูล NAS200 ขึ้น error สาเหตุเนื่องจาก sshd บน NAS200 มันเป็นรุ่นเก่าโบราณณณณณ

Unable to negotiate with legacyhost: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

แก้โดย

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@legacyhost

or in the ~/.ssh/config file:

Host somehost.example.org
    KexAlgorithms +diffie-hellman-group1-sha1

หลังจากนั้นก็ยัง error

Unable to negotiate with 192.168.1.4 port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes256-cbc,twofish256-cbc,twofish-cbc,twofish128-cbc,blowfish-cbc

แก้โดย

sudo nano /etc/ssh/ssh_config

แล้วเอา # หน้า Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc ออกไปเสีย

Edit MP4 Metadata with exiftool

โดย Little Bear on January,05 2019 11.34

บางครั้ง Title ที่แสดงบน VLC หรือโปรแกรมเล่นเพลง/หนังอาจจะไม่ตรงกับชื่อเรื่อง ทางแก้คือเปลี่ยนค่า title ใน metadata โดยใช้โปรแกรม exiftool

บน Mac OSX ให้ติดตั้ง exiftool ก่อนโดย

brew install exiftool

คำสั่งสำหรับตรวจสอบค่า metadata

exiftool "Filename of movie.mp4"

คำสั่งสำหรับเปลี่ยนค่า title ของ metadata

exiftool -Title="Title of movie" -overwrite_original "Filename of movie.mp4"

ที่มา Edit MP4 Metadata with exiftool , Install exiftool on Mac OSX

HatyaiCityClimate.Org Realtime monitor

โดย Little Bear on January,03 2019 17.36

30 พ.ย. 2017 Realtime user = 530 คน รับ load ได้สบาย

3 ม.ค. 2019 พายุ Papuk เข้า Max realtime ยังเพียงแค่ 160 คน CPU 25% Load 2 ยังห่างไกล

Proftp : Manual add new user

โดย Little Bear on January,02 2019 11.54

hatyaicityclimate จะต้องอัพโหลดภาพจากกล้อง IP Camera บางตัวด้วยวิธีการ FTP จึงต้องสร้าง user เพิ่ม แต่ไม่อยากสร้างให้อยู่ภายใต้ @domain.com เนื่องจากกล้องบางตัวไม่สามารถใส่เครื่องหมายใน username ได้

จึงต้องสร้าง user ขึ้นมาเองเพื่อให้สามารถ login ผ่าน ProFtp ได้

ขั้นตอนที่ 1 สร้าง user ใหม่ก่อน

useradd user1

ขั้นตอนที่ 2 กำหนดรหัสผ่าน

passwd user1

ขั้นตอนที่ 3 กำหนดให้ใช้งาน FTP

เนื่องจากตอนสร้าง user จะไม่สามารถ login ftp ได้ จึงต้องเพิ่ม user ให้ได้รับสิทธิ์

nano /etc/proftpd.passwd

แล้วเพิ่มบรรทัด

user1:**********:1008:1010:custom:/home/name/folder:/bin/false

ปล. ไม่มั่นใจเหมือนกันว่าการเพิ่ม user ใน ftp ของขั้นตอนที่ 3 จะเป็นวิธีการที่ถูกต้องไหม

557 items(1/56) 2 3 4 5 Next » Last »|