07 października 2015

Połączenie Aero2 poprzez Wvdial dla Huawei E169

Poniżej konfiguracja wvdial dla modemu Huawei E169 dla Aero2 którą wpisujemy do pliku /etc/wvdial.conf:

[Dialer Aero2]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","darmowy"
Init4 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Password = ;
Phone = *99***1#
Modem Type = Analog Modem
Stupid Mode = on
;Init2 = AT+CPIN="0000"
Baud = 9600
Auto DNS = on
Modem = /dev/ttyUSB0
ISDN = 0
Username = ;

04 września 2015

[MYSQL] Różnicowanie pomiędzy rekordami

Ostatnio myślałem jak utworzyć zapytanie wyliczajace różnice pomiędzy rekordami czyli jeżeli mamy coś takiego:

F1
F2
F3
F4
F5

to:

F1-F2
F2-F3
F3-F4
F4-F5

Jako klucza użyłem daty wprowadzenia z powodu iż łatwiej wyszukać ostatnie wprowadzenie rekordu oraz rekordu-1
Poniżej przedstawione zapytanie jak to działa:


SELECT
    t1.id,
    t2.id,
    t1.datawprowadzenia,
    t2.datawprowadzenia,
    t1.ciepla,
    t2.ciepla,
    t1.zimna,
    t2.zimna,
    t1.prad,
    t2.prad,
    t1.gaz,
    t2.gaz,
    t1.ciepla - t2.ciepla AS CieplaR,
    t1.zimna - t2.zimna AS zimnaR,
    t1.prad - t2.prad AS pradR,
    t1.gaz - t2.gaz AS gazR
FROM
    Odczyty t1,
    Odczyty t2
WHERE
    t2.id = (SELECT
            t3.id
        FROM
            Odczyty t3
        WHERE
            t3.datawprowadzenia < t1.datawprowadzenia AND t3.aktywny = 1
        ORDER BY datawprowadzenia DESC
        LIMIT 1)
        AND t2.aktywny = 1
        AND t1.aktywny = 1
ORDER BY t1.datawprowadzenia DESC


19 lutego 2015

[Java] Wykorzystanie List - przykłady

By wykorzystać w java tablicę obiektów nalezy wykonać poniższy kod:

package com.blogspot.webster21.gpsmierniczy;

/**
 * Created by bslowik on 2015-02-19.
 */
public class point_t {

    public point_t() {

    }

    private double x;
    private double y;

    public point_t(double xU92, double yU92) {
        this.x = xU92;
        this.y = yU92;
    }

    public double getX() {
        return x;
    }

    public void setX(double x) {
        this.x = x;
    }

    public double getY() {
        return y;
    }

    public void setY(double y) {
        this.y = y;
    }
}

Wykorzystanie takiego kodu:

ArrayList<point_t> pkt = new ArrayList<point_t>();
pkt.add(new point_t(xU92,yU92));


Pobranie danych z tablicy:

System.out.println(pkt.get(0).getX());

17 stycznia 2015

[MSSQL]Pobranie losowej wartości z tabeli

Istnieje wiele sposobów, aby wybrać losowy zapis lub wiersz z tabeli bazy danych. Oto kilka przykładów SQL, które nie wymagają dodatkowej logiki aplikacji, ale każdy serwer bazy danych wymaga innej składni SQL. Poniższy przykład jest dla MSSQL:

SELECT TOP 1 column FROM table ORDER BY NEWID()

08 stycznia 2015

[MSSQL]Pobranie wartości parametru z XML

Poniżej przykład zastosowania wyciągnięcia wartości z parametru:

SELECT TOP 10 cast(cast(Wzorzec AS VARBINARY(max)) AS XML).query('.').value('(/barcodes/barcode/pages/page/@papername)[1]', 'varchar(40)')
 ,*
FROM SzablonyEtykiet
WHERE Wzorzec IS NOT NULL
 AND aktywny = 1
ORDER BY id DESC

01 stycznia 2015

[JAVA]Lokalizacja GPS w Android


 Szukając sposobu pobierania lokalizacji w Androidzie natrafiłem na dość ciekawy artykuł dotyczący wykorzystania klasy Location.
Poniżej przykład takiego użycia:
package de.vogella.android.locationsapi.simple;

import android.app.Activity;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

public class ShowLocationActivity extends Activity implements LocationListener {
  private TextView latituteField;
  private TextView longitudeField;
  private LocationManager locationManager;
  private String provider;

  
/** Called when the activity is first created. */

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    latituteField = (TextView) findViewById(R.id.TextView02);
    longitudeField = (TextView) findViewById(R.id.TextView04);

    // Get the location manager
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    // Define the criteria how to select the locatioin provider -> use
    // default
    Criteria criteria = new Criteria();
    provider = locationManager.getBestProvider(criteria, false);
    Location location = locationManager.getLastKnownLocation(provider);

    // Initialize the location fields
    if (location != null) {
      System.out.println("Provider " + provider + " has been selected.");
      onLocationChanged(location);
    } else {
      latituteField.setText("Location not available");
      longitudeField.setText("Location not available");
    }
  }

  /* Request updates at startup */
  @Override
  protected void onResume() {
    super.onResume();
    locationManager.requestLocationUpdates(provider, 400, 1, this);
  }

  /* Remove the locationlistener updates when Activity is paused */
  @Override
  protected void onPause() {
    super.onPause();
    locationManager.removeUpdates(this);
  }

  @Override
  public void onLocationChanged(Location location) {
    int lat = (int) (location.getLatitude());
    int lng = (int) (location.getLongitude());
    latituteField.setText(String.valueOf(lat));
    longitudeField.setText(String.valueOf(lng));
  }

  @Override
  public void onStatusChanged(String provider, int status, Bundle extras) {
    // TODO Auto-generated method stub

  }

  @Override
  public void onProviderEnabled(String provider) {
    Toast.makeText(this, "Enabled new provider " + provider,
        Toast.LENGTH_SHORT).show();

  }

  @Override
  public void onProviderDisabled(String provider) {
    Toast.makeText(this, "Disabled provider " + provider,
        Toast.LENGTH_SHORT).show();
  }
} 

Wiecej informacji można znaleść tutaj w tym artykule